프로그래밍/SPRING BOOT

프로그래밍/SPRING BOOT

[인프런 : spring-boot] Swagger 구현 방법

지난번에는 Docket 이라는 클래스에 기본 객체를 생성하였는데 여기에 API정보나 consumer 정보 등을 변경해보려고 한다. 먼저 API 정보, produces 정보 등을 입력해준다. [ SwaggerConfig Class ] package com.example.restfulwebservice.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import spring..

프로그래밍/SPRING BOOT

[인프런 : spring-boot] Swagger 사용

개발자 도움말 페이지를 추가하는 Swagger에 대해 알아보려고 한다. 설계, 빌드, 문서화, 사용에 관한 기능을 지원해주는 Swagger라는 오픈소스를 이용해서 개발자 관련 도움말 페이지를 만들어 볼 것이다. [ Swagger 란? ] 처음에는 단순한 JSON표현을 목적으로 시작했다가 문서를 자동화하기 위해 프로젝트가 발전되었다고 한다. 아파치 2.0 오픈소스 라이센스를 사용하고 있고 수많은 온라인 서비스들이 본인들의 제품을 소개하기 위해서 사용하고 있다. [ Swagger 사용하기 ] 1. 라이브러리 추가하기 io.springfox springfox-boot-starter 3.0.0 io.springfox springfox-swagger-ui 3.0.0 빨간색 오류가 나면 File > Invalida..

프로그래밍/SPRING BOOT

[인프런 : spring-boot] HATEOAS 적용

HATEOAS 는 Hypermedia As the Engine Of Application State 의 약자로 리소스와 연관된 또는 호출 가능한 자원 상태 정보를 제공해주는 기능을 말한다. 클라이언트가 서버로부터 어떠한 요청을 할 때, 요청에 필요한 URI를 응답에 포함시켜 반환하는 것을 말한다. REST API 개발을 할 때 가장 기본적인 Level 0번째 단계는 REST API 라고 볼 수는 없고 컴퓨터가 가지고 있는 자원을 의미없이 전달해주는 단계라고 볼 수 있다. 컴퓨터 자원 전달 -> 리소스 -> HTTP 메서드 상태 -> 추가적으로 다른 정보도 전달 HATEOAS 기능을 사용하기 위해선 pom.xml 에 라이브러리를 추가해줘야 한다. org.springframework.boot spring-b..

프로그래밍/SPRING BOOT

[인프런 : spring-boot] REST API Version 관리 (2)

이번에는 RequestParameter 와 Header 정보를 이용하여 버전관리를 해보려고 한다. ② RequestParameter 를 이용한 버전관리 기존에 URI를 통해 버전관리를 한 설정들을 삭제해주고 새로운 GetMapping 을 추가해준다. @GetMapping(value = "/users/{id}/", params = "version=1") GetMapping에 두가지 정보가 올때에는 value라는 값을 이용하여 URI를 추가해주면된다. parameter를 전달해주기 위해서 URI 마지막에 /를 넣어야 한다는 점 기억해 놓으면 좋을 것 같다. // GET /admin/users/1 -> /admin/v1/users/1 // @GetMapping("/v1/users/{id}") @GetMappi..

프로그래밍/SPRING BOOT

[인프런 : spring-boot] REST API Version 관리 (1)

이번에는 버전관리에 대해 알아보려고 한다. 페이스북이나 카카오톡처럼 공개 API를 사용하면 어떠한 주소값을 사용하는지 먼저 알아보도록 한다. https://developers.facebook.com/docs/graph-api/guides/versioning 버전 관리 - 그래프 API - 문서 - Facebook for Developers 플랫폼 버전 관리 Facebook 플랫폼은 앱 빌드 도구가 장기적으로 변경 사항을 적용할 수 있도록 버전 관리를 지원합니다. 이 문서에서는 버전이 SDK와 API에 어떤 영향을 미치고, 요청에서 이러한 버 developers.facebook.com 페이스북이나 카카오톡 개발가이드에서 버전을 제공한다는 것을 확인해볼 수 있다. API를 사용하는 개발자가 API 버전을 명..

프로그래밍/SPRING BOOT

[인프런 : spring-boot] 프로그래밍으로 제어하는 Filtering

이번에는 클라이언트에게 제공하는 데이터 필드를 프로그래밍 관점에서 제어하는 방법에 대해 알아보려고 한다. @JsonIgnore / @JsonIgnoreProperties 가 아닌 @JsonFilter 를 사용한다. @JsonFilter("UserInfo") 처럼 "UserInfo"라는 임의의 값을 지정해주면 컨트롤러나, 서비스에서 불러서 사용할 것이다. ( 이전에 설정한 JsonIgnore 관련 설정들은 다 주석처리 해준다. ) package com.example.restfulwebservice.User; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; import c..

공또뤼
'프로그래밍/SPRING BOOT' 카테고리의 글 목록 (2 Page)