OpenSource/Spring Boot(35)
-
springboot-RestClient??
안녕하세요 REST Clients에 대해서 살펴보겠습니다. 아래처럼 스프링프레임워크는 여러가지 REST endpoints를 제공합니다:) RestClient WebClient RestTemplate 동기호출 방식으로 RestTemplate를 학습하였는데요 2024.04.07 - [OpenSource/Spring Boot] - springboot - RestTemplate 적용 REST Client라는 친구도 있어서 정리 해봅니다. The RestClient is a synchronous HTTP client that offers a modern, fluent API. 이 친구는 동기방식의 HTTP Client인데요 RestTemplate보다 모던하다고 하니 옛날사람이 되지 않으려면 학습해서 사용해도 좋을..
2024.04.07 -
springboot - RestTemplate 적용
안녕하세요~ 오늘은 스프링부트에서 http통신을 할 때 많이 사용하는 친구입니다. RestTemplate를 적용해보겠습니다. 이제 사용하지 않는가 싶었는데 알아보니 비동기방식이 Deprecated되었군요! 비동기는 webClient를 사용! 동기 방식인 RestTemplate를 적용해보겠습니다. 따로 dependency를 걸 필요는 없습니다. Web을 사용한다면 이미 아래와 같이 디펜던시를 걸었을테니깐요! ㅎㅎ implementation 'org.springframework.boot:spring-boot-starter-web' 이제 필요한건 RestTemplate을 사용할 수 있도록 Bean을 생성하는 것 입니다. @Configuration과 @Bean을 사용해서 아래와 같이 만들어줍니다. @Config..
2024.04.07 -
springboot bootBuildImage
bootBuildImage라는게 있어서 돌려보았습니다. 아래의 오류 메시지가 떴습니다. What the..ㅋㅋ Image name must be in the form '[domainHost:port/][path/]name', with 'path' and 'name' containing only [a-z0-9][.][_][-] bootBuildImage관련해서 아래의 사이트나 help를 통해 알아봅시다. https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#build-image ./gradlew help --task :bootBuildImage ./gradlew help --task :bootBuildImage..
2024.03.21 -
Field injection is not recommended
@Autowired의 시대는 간것인가!!! 인텔리J에서 밑줄이..엄청 신경쓰였다.. 필드 주입은 예전부터 충돌나는 문제가 있었다. 여러후보군이 있으면 어떤걸 잡아서 주입시켜줘야하는지 아리까리 했던 것이다. 방법은 setter방식과 생성자 주입 방식이 있는데 찾아보니 생성자 주입방식이 대세인것 같다. 코드는 롬복을 이용해서 깔끔한 코드를 짤수가 있다. @RequiredArgsConstructor가 필요하다. @Service @RequiredArgsConstructor 아래처럼 변수를 만들어서 사용하면 끝이다!! 또한 final 키워드를 넣어서 immutable로 만들어줄수가 있다. private final TemplateService templateService; 굿바이..@Autowired~~~ Spri..
2024.03.21 -
주저리) mvc에서 controller 분리 전략
프로젝트를 하나 만들어서 mvc를 만들려는데..고민을 해보았다. ㅋㅋ Q) 현재는 하나의 도메인을 호출할 예정이지만 다른 도메인이 들어왔을 경우에 컨트롤러를 어떻게 분리를 해야할지 고민해보자! 카테고리별 즉, 디렉토리별로 분리하여 관리를 해주는 방법 아니면 그냥 Controller 디렉토리안에서 각각 필요한 Controller를 명명으로 분리하는 방법 기능적으로 커플링이 없다면 당연히 디렉토리별로 각각 만들어서 그 안에서 관리를 해주면 좋은데.. 기능적으로 중복코드가 발생할 가능성이 크다면? 즉, 서비스쪽 로직코드가 중복이 될 가능성이 크다. 예를 들어서 쇼핑몰을 구축을 한다면 주문/발주/송장입력 등 결이 다른 기능을 가지고 있다면 손쉽게 디렉토리별로 나눠서 관리하면 좋을것이다. 심지어는 MSA아키텍처로..
2024.03.09 -
springboot Swagger 설정
swagger란? https://swagger.io/ 사용해보니 api개발을 할 때 이해관계자에게 또는 팀원들한테 개발한 api대한 것을 사용해보라고 공유를 할 수 있습니다. 혹은 post방식의 경우 브라우저에서 테스트하기가 힘든데 swagger를 사용하면 용이 합니다.(물론 postman같은 친구들을 사용하기도 합니다.) 주저리로.. 아주오래전엔 javadoc이라는걸 사용하기 위해서 메소드위에다가 주석을 적고 javadocs를 만들어서 공유하거나 엑셀에 정리를 하거나 위키에 정리해서 공유를 하곤 했습니다. 이제는 springboot에서 swagger를 설정해서 사용하면 됩니다! 그런데..!! springboot 3.x이상에서는 아래와 같이 io.springfox-swagger가 동작하지 않습니다. //..
2024.03.08