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; }
    @GetMapping
    public 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 @PostMapping with @Valid.
    Ready to mark this lesson complete?Track your journey across the entire course.