Creating resources
The inventory component of our sample property management system deals with rooms. In Chapter 3, The First Endpoint, we built an endpoint to access rooms. Let's take a look at how to define an endpoint for creating new resources:
@RestController
@RequestMapping("/rooms")
public class RoomsResource {
@RequestMapping(method = RequestMethod.POST)
public ApiResponse addRoom(@RequestBody RoomDTO room) {
Room newRoom = createRoom(room);
return new ApiResponse(Status.OK, new RoomDTO(newRoom));
}
}We've added a new method to our RoomsResource class to handle the creation of new rooms. As described in Chapter 3, The First Endpoint, @RequestMapping is used to map requests to the Java method. Here, we map POST requests to addRoom().
Tip
Not specifying a value (path) in @RequestMapping is equivalent to using "/".
We pass the new room as a @RequestBody annotation. This annotation instructs Spring to map the body of the incoming web request...