BackEnd(Java)/Rest API(7)
-
Path Variable vs Query Parameter
✅ 아래 내용들에 대해서 알아보자 - Path Variable - Query Paramter(String) - 각각 언제 사용해야 하는가? - 정리 Path Variable pathVariable은 url 경로에 변수를 포함하는 방식이다. User와 관련된 API를 설계해보자. GET .../users/11 -> id가 11인 유저 찾기 POST .../users ->유저 등록 PATCH .../users/11 ->id가 11인 유저 수정 DELETE .../users/11 ->id가 11인 유저 삭제 Query Parameter queryParamter는 url끝에 ?와 함께 ket-value쌍을 포함시키는 방식이다. 성별이 남자인 유저를 찾는 API를 설계해보자. GET .../users?sex=m..
2023.04.14 -
RestAPI에 대해서 제대로 알고 있는가?
실무에서 REST API을 개발하고 있지만 나는 REST API에 대해서 제대로, 정확히 알고 있나?라는 의문이 들기 시작했다. 그래서 나는 REST API에 대해서 조금 더 깊게 찾아보게 되었다. 먼저 내가 알고 있는 REST(Representaional State Transfer) API개념은 HTTP 메서드와(GET, POST, PUT, PATCH, DELETE 등) URI를 활용하여 자연 상태를 표현하는 아키텍처라고 알고 있다. (예를 들면 /member 라는 URI에 각각 다른 메서드를 이용) 그러나 이것은 REST API가 아니다! 참고자료 https://wonit.tistory.com/454 https://ko.wikipedia.org/wiki/REST https://sanghaklee.ti..
2022.06.29 -
RestAPI LocalDateTime 응답 데이터 포맷 변경 방법
API 개발 중 생성시간, 수정시간 등의 시간에 관련하여 데이터를 응답하기 LocalDateTIme 데이터 타입을 사용하여 전송을 하였다. Postman에서 값을 확인해보니 가공되지 않는 데이터를 전송한다.(그림 1 참고) 나는 "2022-05-22 4:49:22" 형식(yyyy-MM-dd HH:mm:ss)으로 데이터를 전송하고 싶었고 찾아보니 @JsonFormat을 사용하면 원하는 형식의 포맷으로 전송할 수 있다는 것을 알게 되었음. 그래서 Response DTO 필드에 @JsonFormat을 사용하여 원하는 형식의 포맷으로 전송하였다.(그림 2, 3 참고) 참고자료 https://lejewk.github.io/jpa-localdatetime-jsonformat/
2022.05.22 -
이미지 업로드 및 조회 API 개발 2편
2편에서는 업로드된 이미지를 조회하는 API를 만들어보자 (1편 안 봤으면 보고 오세여~2022.04.17 - [Web/Rest API] - 이미지 업로드 및 조회 API 개발 1편) 이미지 조회 1편에서 업로드된 파일 다운로드 URI(그림 1)를 처리하는 컨트롤러를 만들어 보자. - Controller 설정 controller 부분에서는 파일 이름을 받아서 디스크에 저장된 파일을 찾아서 파일을 전송한다. 파일을 전송할 때 Resource로 변환하여 ResponseEntity의 body부분에 담아 응답한다. - File DownLoad 로직 그림 3을 보면 파일이 저장되어 있는 경로(디스크 경로, ex. D:\image\aaaa.png)를 Path로 변환한다. 그리고 path값을 URLResoure 객체..
2022.04.18 -
이미지 업로드 및 조회 API 개발 1편
최근 웹이나 앱을 보면 이미지 업로드 및 조회 기능은 웬만하면 다 들어가는 필수 요소인 거 같다. 나도 프로젝트 진행하면서 기능이 필요해서 만들어 보려고 한다.(테스트는 PostMan 사용) 1편에서 포스트맨 설정 및 업로드 기능 만들고 2편에서 조회 기능을 만들 것이다. 기능을 개발하면서 많은 애를 먹어서(포스트맨 설정, 컨트롤러 부분 등..) 이 글을 보고 조금이나마 도움이 되었으면 한다.(ㅠㅠ 처음 해보는 거라 애먹었음) 😓😓 1. 포스트맨에서 파일 및 데이터 보내기 - 파일 전송 설정 나는 리뷰 기능을 만들고 있어서 리뷰 내용(data)과 리뷰 사진들을 같이 Request 하려고 한다. 파일 전송부터 보자. Body 선택 -> form-data를 클릭한다.(그림 1) Key 부분에 text or ..
2022.04.17 -
API Swagger 적용기
프로젝트 진행 시 진행 중인 업무 관련 내용들의 문서화 작업이 꼭 필요하다.(필요성은 말 안 해도 다 아신다고 생각한다.) 그중 API 서버를 개발하였으면 해당 API의 매뉴얼 및 Spec 등 문서화하는 과정이 필요하다. 하지만 문서작업은 기능이 추가되거나, 수정될 때마다 문서 작성하는 시간이 많이 소요되고 귀찮아서 잘 안 하게 된다. 그래서 자동화 툴을 찾게 되는데 Swagger라는 좋은 툴이 있다. 그중 API Spec 문서를 자동화하는 해주는 Swagger에 대해서 알아보자! Swaager 설정 (개발 환경은 Spring Boot + Gradle 환경에서 세팅하였다) 여러 블로그랑 공식문서를 보면서 적용 테스트를 다양하게 해 봤는데 제일 빠른 방법을 알려주겠다. 1. Build.gradle 설정 아..
2022.03.31