Building RESTful Web Services#
Rest Controller#
The @RestController
annotation is used to define the RESTful web services.
@RestController
public class ProductServiceController {
}
Request Mapping#
The @RequestMapping
annotation is used to define the Request URI to access the REST Endpoints.
@RequestMapping(value = "/products")
public ResponseEntity<Object> getProducts() { }
Request Body#
The @RequestBody
annotation is used to define the request body content type.
public ResponseEntity<Object> createProduct(@RequestBody Product product) {
}
Path Variable#
The @PathVariable
annotation is used to define the custom or dynamic request URI.
public ResponseEntity<Object> updateProduct(@PathVariable("id") String id) {
}
Request Parameter#
The @RequestParam
annotation is used to read the request parameters from the Request URL.
public ResponseEntity<Object> getProduct(
@RequestParam(value = "name", required = false, defaultValue = "honey") String name) {
}
GET API#
http://localhost:8071/products
POST API#
http://localhost:8071/products
{
"id":3,
"name":"T5750"
}
PUT API#
http://localhost:8071/products/1
{
"name":"T5750"
}
DELETE API#
http://localhost:8071/products/3
Rest Template#
Rest Template is used to create applications that consume RESTful Web Services. You can use the exchange()
method to consume the web services for all HTTP methods.
GET#
http://localhost:8071/template/products
POST#
http://localhost:8071/template/products
{
"id":3,
"name":"T5750"
}
PUT#
http://localhost:8071/template/products/1
{
"name":"T5750"
}
DELETE#
http://localhost:8071/template/products/3
Service Components#
Service Components are the class file which contains @Service
annotation.