전체 글

프로그래밍/SPRING BOOT

[인프런 : spring-boot] HAL Browser를 이용한 HATEOAS 기능 구현

이번에는 REST API 의 response 정보에 부가적인 정보를 추가해서 제공하는 서비스인 HAL Browser에 대해 알아보려고 한다. HAL Browser는 Hypertext Application Language의 약자이다. Hypertext를 가지고 application 정보를 부가적으로 부여하는 것을 의미한다. HAL은 API 리소스들 사이에서 쉽게 일관적인 hyperlink를 제공하는 방식이고, API 설계시 API 끼리 쉽게 검색이 가능하다는 장점이 있다. response 메시지에 적용하면 메시지가 어떤 포맷이든지 메타정보를 hyperlink형식으로 간단하게 포함할 수 있다. 그림을 보면 우리가 제공하고자하는 정보들을 Links 형태로 추가해서 제공하는 것을 볼 수 있다. resource ..

프로그래밍/SPRING BOOT

[인프런 : spring-boot] Monitoring을 위한 Actuator 설정

이번에는 모니터링을 추가하는 방법에 대해 알아보도록 하려고 한다. 1. pom.xml 을 추가해준다. org.springframework.boot spring-boot-starter-actuator 추가 후 서버를 재기동 해주면 여러가지 요소들을 확인할 수 있다. 1-1. 아마 스프링 부트 2.6.2 버전 이후를 사용한다면 오류가 발생할 것이다. spring.mvc.pathmatch.matching-strategy의 값이 ant_path_matcher 에서 path_patter_parser로 변경되었기 때문! 수정사항이 두가지가 있다. [ 1. application.yml 파일 수정 ] spring: messages: basename: messages mvc: pathmatch: matching-stra..

프로그래밍/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..

공또뤼
공부하자 또뤼야