@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable int id) {
return userService.getUserById(id);
}
@PostMapping("/user")
public void saveUser(@RequestBody User user) {
userService.saveUser(user);
}
}
@Endpoint
public class UserEndpoint {
@Autowired
private UserService userService;
@PayloadRoot(namespace = "http://example.com/user", localPart = "getUserRequest")
@ResponsePayload
public GetUserResponse getUser(@RequestPayload GetUserRequest request) {
int userId = request.getUserId();
User user = userService.getUserById(userId);
GetUserResponse response = new GetUserResponse();
response.setUser(user);
return response;
}
}