BackEnd45 [Spring] CORS 설정 방법 | REST API와 프론트엔드 연결하기 프론트엔드에서 REST API를 호출하다 보면 CORS(Cross-Origin Resource Sharing) 문제를 만날 수 있다.특히 프론트엔드와 백엔드 서버가 서로 다른 주소에서 실행되는 개발 환경에서 자주 발생한다.1. CORS란?브라우저는 보안상의 이유로 다른 출처(Origin)의 서버에 요청하는 것을 기본적으로 제한한다.예를 들어 프론트엔드가 다음 주소에서 실행되고 있다고 가정한다.http://localhost:3000 백엔드 서버가 다음 주소에서 실행된다면http://localhost:8080 두 주소의 Origin이 다르기 때문에 브라우저에서 백엔드 API를 호출할 때 CORS 문제가 발생할 수 있다.이때 서버는 어떤 출처의 요청을 허용할 것인지 브라우저에게 알려줘야 한다.2. Spring.. 2026. 8. 19. [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. 이전 1 2 3 4 ··· 8 다음