@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping("/{id}")
public User getUser(@PathVariable int id) {
User user = userService.getUserById(id);
return user;
}
@PostMapping("/")
public User createUser(@RequestBody User user) {
User newUser = userService.createUser(user);
return newUser;
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable int id) {
userService.deleteUserById(id);
}
}
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example.controllers")
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.APPLICATION_JSON);
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new MappingJackson2HttpMessageConverter());
converters.add(new StringHttpMessageConverter());
}
// ...
}