Spring32 [Spring] SpringDoc으로 REST API 문서 자동화하기 - Swagger UI 사용법 1. API 문서란?API 문서는 API를 어떻게 사용해야 하는지 설명하는 문서이다.프론트엔드 개발자나 다른 백엔드 개발자가 API를 사용할 때 다음과 같은 정보를 확인할 수 있도록 제공한다.어떤 URL로 요청하는지어떤 HTTP Method를 사용하는지어떤 데이터를 전달해야 하는지어떤 응답을 받는지요청 및 응답 데이터의 형식은 무엇인지2. SpringDoc이란?SpringDoc은 Spring Boot 프로젝트의 API 정보를 분석해서 OpenAPI 문서를 자동으로 생성해주는 라이브러리이다.내부적으로 Swagger를 활용하기 때문에 개발자가 API 정보를 일일이 문서로 작성하지 않아도 Swagger UI를 통해 API를 확인할 수 있다.의존성 추가build.gradle.kts에 다음 의존성을 추가한다.im.. 2026. 8. 14. [Spring] AOP로 REST API 응답 후처리하기 AOP 코드를 작성할 때 가장 복잡해 보이는 부분이 어떤 메서드에 AOP를 적용할 것인지 지정하는 부분과 실제 메서드를 실행한 뒤 응답을 처리하는 부분이다. 해당 부분만 간단하게 정리해보겠다.1. 어떤 메서드에 AOP를 적용할 것인가( within ( org.springframework.web.bind.annotation.RestController * ) && ( annotation(org.springframework.web.bind.annotation.GetMapping) || annotation(org.springframework.web.bind.annotation.PostMapping) || ann.. 2026. 8. 13. [Spring] REST API 응답 처리하기 - @RequestBody와 ResponseEntity 1. @RequestBody로 JSON 데이터 받기REST API에서는 클라이언트가 요청 본문에 JSON 데이터를 담아 서버로 전달하는 경우가 많다.이때 @RequestBody를 사용하면 JSON 데이터를 Java 객체로 변환해서 받을 수 있다.@PostMappingpublic RsData write( @Valid @RequestBody PostWriteRequestBody reqBody) { Post post = postService.write(reqBody.title, reqBody.content); return new RsData( "201-1", "%d번 글이 성공적으로 작성되었습니다.".formatted(post.getId()), .. 2026. 8. 13. [Spring] @Controller와 @RestController 일반적인 Spring MVC에서는 @Controller를 사용한다.@Controllerpublic class PostController { @GetMapping("/posts") @ResponseBody public List list() { return postService.findAll(); }}@Controller에서 객체나 리스트를 HTTP 응답 본문으로 반환하려면 @ResponseBody가 필요하다.REST API에서는 대부분 데이터를 JSON으로 반환하기 때문에 @RestController를 사용하는 것이 편리하다.@RestControllerpublic class PostController { @GetMapping("/posts") public Lis.. 2026. 8. 12. HTTP Method란? GET, POST, PUT, PATCH, DELETE 웹에서는 URL과 HTTP Method를 이용해 서버에 원하는 작업을 요청한다. REST API를 이해하기 위해서는 각 HTTP Method의 역할을 구분하는 것이 중요하다.1. HTTP Method웹이 발전하면서 단순한 조회와 데이터 생성뿐만 아니라 수정과 삭제도 필요해졌다. 이를 표현하기 위해 HTTP Method를 사용한다.Method용도예시GET조회@GetMapping("/api/v1/posts/1")POST생성@PostMapping("/api/v1/posts")PUT전체 수정@PutMapping("/api/v1/posts/1")PATCH일부 수정@PatchMapping("/api/v1/posts/1")DELETE삭제@DeleteMapping("/api/v1/posts/1")2. HTML과 HTT.. 2026. 8. 12. REST API 응답 형식 통일하기 - HTTP 상태 코드와 RsData 1. REST API의 응답을 JSON으로 통일하기REST API에서는 프론트엔드와 서버가 데이터를 주고받기 때문에 일관된 응답 형식을 사용하는 것이 중요하다.조회 API에서는 JSON을 반환하면서 추가, 수정, 삭제 API에서는 평문을 반환한다면 프론트엔드에서 각각 다른 방식으로 응답을 처리해야 한다.예를 들어 다음과 같은 응답이 있다고 가정한다.게시물이 삭제되었습니다.문자열만 반환하기 때문에 프론트엔드에서는 이 메시지가 성공을 의미하는지, 실패를 의미하는지 별도로 판단해야 한다.따라서 REST API에서는 응답을 일정한 JSON 구조로 통일하는 것이 좋다.2. 응답에 결과 코드와 메시지를 사용하기비즈니스 로직이 복잡해지면 단순히 HTTP 상태 코드만으로 모든 결과를 표현하기 어려워진다.세부적인 상황을.. 2026. 8. 12. 이전 1 2 3 4 ··· 6 다음