Spring - Nouvelles annotations

Share:

@GetMapping, @PostMapping, @PutMapping and @DeleteMapping

Il y a de nouvelles améliorations dans Spring Boot 1.4 et Spring 4.3 qui permettent une meilleure lisibilité et une certaine utilisation des annotations, en particulier avec les méthodes de requête HTTP.

Nous mappons généralement les méthodes HTTP GET, PUT, POST et DELETE dans le contrôleur rest de la manière suivante:
@RestController
@RequestMapping("/api/employees")
public class EmployeeController {

  @RequestMapping
  public ResponseEntity<List<Employee>> getAll() {
    return ResponseEntity.ok(Collections.emptyList());
  }

  @RequestMapping("/{employeeId}")
  public ResponseEntity<Employee> findById(@PathVariable Long employeeId) {
    return ResponseEntity.ok(EmployeeStub.findById(employeeId));
  }

  @RequestMapping(method = RequestMethod.POST)
  public ResponseEntity<Employee> addEmployee(@RequestBody Employee employee) {
    return ResponseEntity.ok(EmployeeStub.addEmployee(employee));
  }

  @RequestMapping(method = RequestMethod.PUT)
  public ResponseEntity<Employee> updateEmployee(@RequestBody Employee employee) {
    return ResponseEntity.ok(EmployeeStub.updateEmployee(employee));
  }

  @RequestMapping(path = "/{employeeId}", method = RequestMethod.DELETE)
  public ResponseEntity<Employee> deleteEmployee(@PathVariable Long employeeId) {
    return ResponseEntity.ok(EmployeeStub.deleteEmployee(employeeId));
  }
}
Mais avec Spring Framework 4.3 et Spring Boot 1.4, nous avons de nouvelles annotations pour mapper les méthodes HTTP.
  • GET -> @GetMapping
  • PUT -> @PutMapping
  • POST -> @PostMapping
  • DELETE -> @DeleteMapping
  • PATCH -> @PatchMapping
@RestController
@RequestMapping("/api/employees")
public class EmployeeController {

  @GetMapping
  public ResponseEntity<List<Employee>> getAll() {
    return ResponseEntity.ok(Collections.emptyList());
  }

  @GetMapping("/{employeeId}")
  public ResponseEntity<Employee> findById(@PathVariable Long employeeId) {
    return ResponseEntity.ok(EmployeeStub.findById(employeeId));
  }

  @PostMapping
  public ResponseEntity<Employee> addEmployee(@RequestBody Employee employee) {
    return ResponseEntity.ok(EmployeeStub.addEmployee(employee));
  }

  @PutMapping
  public ResponseEntity<Employee> updateEmployee(@RequestBody Employee employee) {
    return ResponseEntity.ok(EmployeeStub.updateEmployee(employee));
  }

  @DeleteMapping(path = "/{employeeId}")
  public ResponseEntity<Employee> deleteEmployee(@PathVariable Long employeeId) {
    return ResponseEntity.ok(EmployeeStub.deleteEmployee(employeeId));
  }
}
Ces annotations ont amélioré la lisibilité du code. J'espère que vous trouverez cet article utile.






Post a Comment

Aucun commentaire