Spring Framework
Controller / Put API, Delete API - @putMapping @deleteMapping
진청우
2023. 1. 18. 14:59
GetController, PostController와 이용 방법이 겹친다
Put API
//http://localhost:8080/api/v1/put-api/default
@PutMapping(value = "/default")
public String putMethod() {
return "Hello putMethod!";
}
//http://localhost:8080/api/v1/put-api/member
@PutMapping(value = "/member")
public String postMember(@RequestBody Map<String, Object> putData) {
StringBuilder sb = new StringBuilder();
putData.entrySet().forEach(map -> {
sb.append(map.getKey() + " : " + map.getValue() + "\n");
});
return sb.toString();
}
DTO 사용 시
//http://localhost:8080/api/v1/put-api/member1
@PutMapping(value = "/member1")
public String postMemberDto1(@RequestBody MemberDTO memberDTO) {
return memberDTO.toString();
}
//http://localhost:8080/api/v1/put-api/member2
@PutMapping(value = "/member2")
public MemberDTO postMemberDto2(@RequestBody MemberDTO memberDTO) {
return memberDTO;
}
//http://localhost:8080/api/v1/put-api/member3
@PutMapping(value = "/member3")
public ResponseEntity<MemberDTO> postMemberDto3(@RequestBody MemberDTO memberDTO) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(memberDTO);
}
3번째 방법은 ResponseEntitiy를 사용함. 리턴 값은 1은 string 형태지만 2와3은 JSON 형태이다.
ResponseEntity
Spring Framework에서 제공하는 클래스 중 HttpRequest라는 클래스를 상속받아 사용하는 클래스.
사용자의 HttpRequest에 대한 응답 데이터를 포함.
포함하는 클래스
- HttpStatus
- HttpHeaders
- HttpBody
Delete API
//http://localhost:8080/api/v1/get-api/variable1/{string 값}
@DeleteMapping(value = "/delete/{variable}")
public String deleteVariable(@PathVariable String variable) {
return variable;
}
variable을 동일하게 써주어야 한다는 점을 놓치지 말자.
지금으로서는 DB 연동이 안되어서 잘 작동하는지 모름.
DB연동 후 추가 작업이 필요하다.