반응형
들어가며,
@RequestMapping을 사용하여 모든 HTTP 메소드를 처리하던 이전 방식과는 다르게, 최신 방식은 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping 등을 사용한다.
URI 엔드포인트는 동일하게 사용하되, 어노테이션만 다르게 설정하여 REST API를 처리한다.
또한 메소드 이름 또한 readPerson, deletePerson 과 같이 명확하게 사용하면 REST 스타일에 가깝게 코딩할 수 있다.
@RestController // Rest API를 처리하는 Controller 임을 의미
@RequiredArgsConstructor
@RequestMapping("/api")
public class PersonController {
private final PersonService personService;
// POST
@PostMapping(value = "/person", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public Person createPerson(@RequestBody Person person){
Person createdPerson = personService.createPerson(person);
return createdPerson;
}
// GET
@GetMapping("/person/{name}")
public Person readPerson(@PathVariable("name") String name) {
Person readOnePerson = personService.readOnePerson(name);
return readOnePerson;
}
// 전체를 받아올 때 -> URI에 s 붙여 사용
@GetMapping("/persons")
public List<Person> readPersons() {
List<Person> readAllPerson = personService.readAllPerson();
return readAllPerson;
}
// DELETE
@DeleteMapping("/person/{id}")
public String deletePerson(@PathVariable("id") int id) {
int row = personService.deletePerson(id);
return row + "개의 로우가 삭제되었습니다.";
}
// PATCH (Partial Modify)
@PatchMapping("/person")
public Person patchPerson(@RequestParam("column") String column, @RequestParam("tobe") String tobe, @RequestParam("id") int id) {
Person modifiedPerson = personService.patchPersonCompany(column,tobe , id);
return modifiedPerson;
}
// PUT (create and replace)
@PutMapping("/person")
public Person putPerson(@RequestBody Person person) {
Person putPerson = personService.putPerson(person);
return putPerson;
}
}
공부하고 있는 단계이기에 내용이 100% 정확하지 않을 수 있습니다.
🍀틀린 부분이나 피드백 환영입니다🍀
반응형
'개발일지 > Java SpringBoot' 카테고리의 다른 글
[Spring] [퍼옴] 스프링과 스프링 부트란 무엇인가? 개념 정리 (0) | 2023.11.08 |
---|---|
객체지향 프로그래밍 OOP란? (2) | 2023.11.08 |
[Spring] CRUD 란 무엇인가 (0) | 2023.11.05 |
[Java] split() 함수로 문자열 자르기 (0) | 2023.11.03 |
[Spring] JPA란 ? (0) | 2023.10.29 |