Spring Boot Tutorial 0/110 lessons ~6 min read Lesson 13
Controllers
Controllers map HTTP requests to Java methods.
Course progress0%
Focus
3 guided sections
Practice signal
Examples included
Career prep
Foundation builder
Introduction
Controllers map HTTP requests to Java methods. @RestController = @Controller + @ResponseBody — every method's return value is auto-serialised to JSON.
Informative example
ts
@RestController@RequestMapping("/api/v1/users")public class UserController {private final UserService users;public UserController(UserService users) { this.users = users; }@GetMappingpublic List<UserDto> list() { return users.findAll(); }@GetMapping("/{id}")public UserDto getOne(@PathVariable Long id) { return users.find(id); }@PostMapping@ResponseStatus(HttpStatus.CREATED)public UserDto create(@Valid @RequestBody NewUser cmd) {return users.create(cmd);}}
Best practices
- Version your APIs in the path:
/api/v1/.... - Return DTOs, never JPA entities, from controllers.
- Pair every
@PostMappingwith@Valid.
Ready to mark this lesson complete?Track your journey across the entire course.