12월, 2022의 게시물 표시

Spring Boot Admin Server, Client config 설정하기

이미지
 Spring Boot로 많은 프로젝트를 진행하게 됩니다. 많은 모니터링 도구가 있지만, Spring Boot 어플리케이션을 쉽게 모니터링 할 수 있는 방법을 소개하려고 합니다.   코드 중심으로 살펴보겠습니다. 1. 어드민 서버 구축 1-1. 디펜던시 추가 dependencies { // https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-server implementation 'de.codecentric:spring-boot-admin-starter-server:2.5.4' } 1-2. 어드민 서버 설정 활성화 @SpringBootApplication @EnableAdminServer public class ServerApplication { public static void main (String[] args) { SpringApplication. run (ServerApplication. class, args) ; } } EnableAdminServer를 하면 됩니다. 2. 클라이언트 서버 설정  예제는 book-client, member-client 2가지 클라이언트, member-client가 2개의 인스턴스 실행으로 작성했습니다.  2-1 디펜던시 추가 dependencies { // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web implementation 'org.springframework.boot:spring-boot-starter-web:2.5.4' // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-actuator implementation 'org.spring...

RestTemplate Config 설정 responseType Map 으로 응답 받기

  http 요청을 사용하여 외부의 자원을 호출하여 사용할 때가 많이 있습니다. 이와 관련된 기본 예제를 살펴 보겠습니다. Spring boot 프로젝트라고 가정하겠습니다. 라이브러리 추가 implementation 'org.apache.httpcomponents:httpclient:4.5.13' 기본 설정 추가 import org.springframework.context.annotation. Bean ; import org.springframework.context.annotation. Configuration ; import org.springframework.http.client. HttpComponentsClientHttpRequestFactory ; import org.springframework.web.client.RestTemplate ; @Configuration public class RestTemplateConfig { @Bean public RestTemplate restTemplate () { HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory() ; requestFactory.setConnectTimeout( 1000 ) ; // 소켓 연결 타임아웃 requestFactory.setReadTimeout( 3000 ) ; // 소켓 연결 이후 응답 타임아웃 RestTemplate restTemplate = new RestTemplate(requestFactory) ; return restTemplate ; } } 클래스 객체 응답 받기 import lombok.extern.slf4j. Slf4j ; import org.springframework.b...

nginx API Error JSON Response

이미지
  서버나 정적응답없이 nginx 즉시 오류를 응답하고 싶을 수 있습니다. 기본설정에는 root의 html 파일로 되어 있습니다. API의 웹서버로 사용하고 있는경우 Content-Type: application/json 의 json은 형식을 많이 사용합니다. 설정하기 nginx.conf server { listen 80 ; server_name localhost ; proxy_pass_header Server; location /api { if ($host = 'api.mylocalhost') { return 404; } proxy_pass http: //127.0.0.1:8080; } error_page 404 /404.json; location /404.json { return 404 '{"code": 404,"message": "Not Found"}'; } } 404.json에서 json으로 확장자를 하는 이유는 response header에 Content-Type: application/json 가 자동으로 세팅되게 됩니다. 호출하면 위와 같이 볼 수 있습니다. 그리고 if문 조건을 넣고 싶은경우 location 안에 추가해야합니다. if문 안에 location 을 추가하면 오류가 발생합니다. 이전 nginx 문서 설치 및 실행  https://withccm.blogspot.com/2020/12/macos-nginx.html Response Header Server 정보 제거 https://withccm.blogspot.com/2022/07/nginx-response-header-server.html