Spring REST controller oluşturmak için controller sınıfının başında @RestController annotation’ı kullanılır. Bu annotation ile HTTP requestler işlenir. Controller sınıfı içinde bir method oluşturulur ve bu method ile dönüş değerleri belirlenir.
@GetMapping(“/info”)
public List<MyInfo> getInfo() {
List<MyInfo> data = // info from a dataSource
return data;
}
Burada getInfo methodu myInfo objelerini içeren bir liste döner. Çekilen bu veriyi next.js uygulamasında kullanabilmek için fetch API ya da axios API kullanılabilir.
Doğrudan List<MyInfo> dönüşü yapmak yerine ResponseEntity nesnesi dönebiliriz. Bu şekilde http response üzerinde daha fazla kontrol sağlayabiliriz. Http status code ve header bilgilerini kontrol edebiliriz.
Front-end’den Spring REST API’ye ulaşmak için front-end uygulamasından Spring REST API’nin URL’ine bir http request göndermek gerekir.
axios.get('http://localhost:8080/customer/info')
Front-end uygulamasından istek gönderebilmek için Spring REST API içinde CORS ayarlarının yapılması yani ya controller içinde @CrossOrigin anootation’ı kullanılması ya da uygulamanın configurasyon dosyasında global tanımlama yapılması gereklidir.