스프링

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

[인프런 : spring-boot] XML format / 데이터 제어 Filtering

이번에는 XML 문서 포맷과 데이터 제어 필터링에 대해 알아보려고 한다. 이제까지는 모든 정보를 JSON포맷으로 전달하였는데 이를 XML포맷으로 전달하는 것이다. 이렇게 Header에 Accept - application/xml 을 입력하여 정보를 받아보면 406 Not Acceptable 코드가 출력되는 것을 알 수 있다. xml을 정상적으로 처리할 수 있는 라이브러리를 추가하면 해결된다. com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.10.2 pom.xml에 dependency를 추가해주고 다시 build해준다. 변경사항이 있기 때문에 서버를 재기동 시켜주고 포스트맨을 다시 실행시켜준다. 이렇게 xml 형태로 정보들이 출력되는 것을 볼 수 있다..

공또뤼
'스프링' 태그의 글 목록