본문 바로가기
Spring

POST, PUT, DELETE API + Swagger 라이브러리 노트

by SuldenLion 2022. 10. 31.
반응형

Post API 

- 리소스를 추가하기 위해 사용되는 API

@PostMapping : Post API를 제작하기 위해 사용되는 Annotation. @RequestMapping과 POST method의 조합.

일반적으로 추가하고자 하는 Resource를 http body에 추가하여 서버에 요청. 그렇기 때문에 @RequestBody를 이용하여 body에 담겨있는 값을 받아야함.

@PostMapping(value = "/member")
public String postMember(@RequestBody Map<String, Object> postData) {
	StringBuilder sb = new StringBuilder();
    
    postData.entrySet().forEach(map -> {
    	sb.append(map.getKey() + " : " + map.getValue() + "\n");
    });
    
    return sb.toString();
}

Put API

- 해당 리소스가 존재하면 갱신하고, 리소스가 없을 경우에는 새로 생성해주는 API. 업데이트를 위한 메소드. 기본적인 동작 방식은 Post API와 동일함.

 

Delete API

- 서버를 통해 리소스를 삭제하기 위해 사용되는 API. 일반적으로 @PathVariable을 통해 리소스 ID등을 받아 처리함.

 

ResponseEntity

- Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스를 상속받아 사용하는 클래스. 사용자의 HttpRequest에 대한 응답 데이터를 포함. (포함하는 클래스 : HttpStatus, HttpHeaders, HttpBody)

 

Swagger 란?

- 서버로 요청되는 API 리스트를 HTML 화면으로 문서화하여 테스트 할 수 있는 라이브러리. 협업에 도움이 됨. 이 라이브러리는 서버가 가동되면서 @RestController를 읽어 API를 분석하여 HTML 문서를 작성함. 

 

Swagger가 필요한 이유

- REST API의 스펙을 문서화 하는 것은 매우 중요. API를 변경할 때마다 Reference 문서를 계속 바꿔야하는 불편함이 있음. 

 

Swagger 설정 방법 

- @Configuration : 어노테이션 기반의 환경 구성을 돕는 annotation. IoC Container에게 해당 클래스를 Bean 구성 Class 임을 알려줌.

- @Bean : 개발자가 직접 제어가 불가능한 외부 라이브러리 등을 Bean으로 만들 경우에 사용.

 

반응형

'Spring' 카테고리의 다른 글

DTO, DAO, Repository, Entity 노트  (0) 2022.11.02
Lombok 정리 노트  (0) 2022.11.01
Get API 만드는 방법 노트  (0) 2022.10.30
MVC Pattern 노트  (0) 2022.10.29
Maven - pom.xml 파일 노트  (0) 2022.10.28

댓글