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연동 후 추가 작업이 필요하다.
'Spring Framework' 카테고리의 다른 글
[스프링부트] Ajax post data Controller에서 Map으로 받아오려면 (0) | 2023.07.05 |
---|---|
스프링 jsp페이지 뷰 View (0) | 2023.02.13 |
Controller / Post API - @postMapping (0) | 2023.01.18 |
Controller / Get API - @RestController, @RequestMapping, @GetMapping 등 (0) | 2023.01.18 |
pom.xml (0) | 2023.01.18 |