Building RESTful Web Services with Spring 5(Second Edition)
上QQ阅读APP看书,第一时间看更新

CRUD operation in Spring 5 (without Reactive)

Let's perform user CRUD operations. As we have discussed CRUD concepts before, here we will only discuss User management on Spring 5 (without Reactive support). Let's fill in all dummy methods for CRUD endpoints. In here, we can create UserContoller and fill in all methods for CRUD user operations:

package com.packtpub.restapp;
import java.util.LinkedHashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class UserController {
@ResponseBody
@RequestMapping("")
public Map<String, Object> getAllUsers(){
Map<String, Object> map = new LinkedHashMap<>();
map.put("result", "Get All Users Implementation");
return map;
}
@ResponseBody
@RequestMapping("/{id}")
public Map<String, Object> getUser(@PathVariable("id") Integer id){
Map<String, Object> map = new LinkedHashMap<>();
map.put("result", "Get User Implementation");
return map;
}
@ResponseBody
@RequestMapping(value = "", method = RequestMethod.POST)
public Map<String, Object> createUser(){
Map<String, Object> map = new LinkedHashMap<>();
map.put("result", "Create User Implementation");
return map;
}
@ResponseBody
@RequestMapping(value = "", method = RequestMethod.PUT)
public Map<String, Object> updateUser(){
Map<String, Object> map = new LinkedHashMap<>();
map.put("result", "Update User Implementation");
return map;
}
@ResponseBody
@RequestMapping(value = "", method = RequestMethod.DELETE)
public Map<String, Object> deleteUser(){
Map<String, Object> map = new LinkedHashMap<>();
map.put("result", "Delete User Implementation");
return map;
}
}

We have filled the basic endpoints for all CRUD operations. If you call them on Postman with proper methods such as GET, POST, PUT, and DELETE,  you will see the result mentioning the appropriate messages.

For example, for the getAllUsers API (localhost:8080/user), you will get:

{
result: "Get All Users Implementation"
}