在 Spring Boot 里,Controller 就是窗口人员。
package com.example.cityhall.permit;
import jakarta.validation.Valid;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/permits")
public class PermitController {
private final PermitService permitService;
public PermitController(PermitService permitService) {
this.permitService = permitService;
}
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public PermitResponse create(@Valid @RequestBody CreatePermitRequest request) {
return permitService.create(request);
}
@GetMapping("/{id}")
public PermitResponse getById(@PathVariable Long id) {
return permitService.getById(id);
}
}最重要的几件事:
@RestController:这个窗口默认返回 JSON@RequestMapping:这是窗口柜台号@RequestBody:把市民提交的 JSON 表单收进来@PathVariable:从路径里拿业务编号@Valid:交给校验处先验材料