본문 바로가기

728x90
반응형

공부 정리/Java

(43)
GET과 Query Parameter, POST와 Databody REST API를 만들 때, @GetMapping과 @PostMapping에 따라 어떻게 프런트 화면의 값을 입력받는지 알아보도록 한다. * Get 1. Map 2. @ReuqestParam 3. Dto 클래스 아래와 같은 URL 주소가 입력된다고 가정하자. user, email, age 등의 정보가 담겨있는 것을 알 수 있다. http://localhost:9090/api/get/query-param?user=seteve&email=steve@gmail.com&age=30 화면에서 입력된 특수한 값들을 백엔드에 넘기고 싶다면 ? 뒤로부터 그 내용을 전달해주면 된다. 각 내용은 &로 구분한다. 1. Map @GetMapping("/get") public String input(@RequestParam M..
REST, RESTful API REST(Representational State Transfer : 자원의 전달 상태) - 네트워크 아키텍쳐 REST는 2000년에 Roy Fielding에 의해 사용된 단어이다. HTTP를 느슨한 커플링 어플리케이션으로 개발하기 위한 아키텍쳐 스타일이다. 종종 웹 서비스 개발에 사용된다. REST는 저수준에서 어떻게 구현되어야하는지 어떠한 규칙도 강제하지 않으며, 고수준의 디자인 가이드를 제시하고 구현은 각 당사자들에게 맡긴다. (참로 Roy Fielding은 1996년부터 1999년까지 HTTP 1.0의 기존 디자인에 기반을 둔 HTTP 1.1와 병행하여 REST 구조의 스타일을 개발하였다.) * REST의 원칙 가이드 1. Client, Server - 클라이언트와 서버가 서로 독립적으로 분리되어..
SOLID 원칙 1. SRP(Single Responsibility Principle) 단일 책임 원칙 어떠한 클래스를 변경해야 하는 이유는 한가지 뿐이어야 한다 public class Unit { private String name; private int speed; public void move() { if(name.equals("저글링") { speed += 3; } else if(name.equals("탱크") { if("탱크모드") { speed = 0; } else { speed= 10; } } } } 현재 클래스에서는 저글링과 탱크라는 2가지 객체에 대해서 검사 후 변경을 하고 있다. 따라서 SRP 원칙에 위배되며 다음과 같이 각각 객체에 대한 메서드로 분리한다. class 저글링 extends Unit {..
POJO / Hibernate *POJO란? Plain Old Java Object의 줄임말로 2000년 컨퍼런스에서 마틴파울러가 처음으로 사용하였다. 어떤한 기술에도 종속되어있지 않는 순수한 객체 상태를 의미한다. 진정한 POJO란 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 말한다. 그런 POJO에 애플리케이션의 핵심 로직과 기능을 담아 설계하고 개발하는 방법을 POJO 프로그래밍이라고 할 수 있다. -(토비의 스프링3 672p) POJO라는 용어는 이후에 주로 특정 자바 모델이나 기능, 프레임워크 등을 따르지 않은 자바 오브젝트를 지칭하는 말로 사용되었다. 스프링 프레임워크는 POJO 방식의 프레임워크이다. *POJO 프레임워크 등장배경 EJB의 비전은 '..
전략패턴이란? 전략(Stragetegy)패턴이란? 여러 알고리즘을 추상적인 접근점(인터페이스)을 만들어 접근점에서 서로 교환 및 실행(델리게이트) 가능하도록 하는 패턴이다. 전략패턴을 위해서는 인터페이스, 델리게이트에 대한 이해가 필요하다. 왜냐하면, 접근점은 인터페이스로 만들고 알고리즘을 구현하는 작업은 델리게이트 방식으로 해결하기 때문이다. 인터페이스(interface)란? 인터페이스는 기능의 선언과 구현을 분리하도록 한다. 기능 구현의 통로로 이용된다. 인터페이스라는 접근점을 설정해두면, 상황에 따라서 적절한 알고리즘을 사용하면 된다. 델리게이트(delegate)란? 사전적 뜻으로는 '위임하다'이며 특정 객체에 특정 처리를 위임해주는 것, 즉 책임을 넘겨주는 것이다. 다시 말해, 특정 객체의 기능을 사용하기 위해..
map vs flatMap 쇼핑몰 토이프로젝트 중에 리스트 안에 리스트를 조회해야하는 일이 생겼습니다. 단순하게 map을 2번 사용해서 리스트 안으로 들어가고 싶었는데, 오류가 났습니다. flatMap을 알아내어 해결했습니다. 그래서 map과 flatMap의 차이를 비교하고 사용하고자 합니다.해당 글은 map과 flatMap의 차이를 정리하기 때문에 map에 대한 기본 개념은 따로 적지 않습니다. 예시를 통해서 비교하는 것이 가장 빠르다고 생각합니다. Stream은 map을 사용한다면 주석으로 반환형을 꼭 써보면서 공부하면 학습 능률이 커집니다. List fruit = new ArrayList(); fruit.add("Apple"); fruit.add("mango"); fruit.add("pineapple"); fruit.add(..
JJWT Java JWT: JSON Web Token for Java and Android JAVA JWT : JSON Web Token for Java and Android JJWT는 JWT를 생성하고 증명하는 라이브러리로서 자바와 JVM과 안드로이드에서 가장 쉽게 사용하고 이해할 수 있는 것을 목표로 한다. JJWT는 Apache 2.0 라이선스에 따라 JWT, JWS, JWE, JWK, JWA RFC 명세 및 오픈소스를 독점적으로 기반하는 순수 Java 구현이다. 라이브러리는 Okta' 선임 설계자인, Les Hazlewood에 의해 만들어졌으며, 컨트리뷰터들의 커뮤니티에서 지원하고 유지관리한다. Okta는 개발자를 위한 완벽한 인증과 사용자 관리 API이다. * 특징 - 모든 JDK와 Android에서 기..
Could not autowire. No beans of 'Mapper' type found * 문제 상황 Dozer의 공식 github 사이트에 따르면, 아래와 같이 Dozer를 사용하는 간단한 예시가 있습니다. 그래서 이 Mapper를 이용하고자 Mapper를 생성자에 주입하려고 하는데, 다음과 같은 오류를 냈습니다. 일단 무시하고 프로젝트를 실행하니 아래와 같이 bean을 찾지 못하니까 bean을 등록하라는 메세지가 나옵니다. 제가 원하는 객체가 제대로 주입되지 못한 것 같습니다. 따라서 설정을 통해 Mapper를 등록합니다. *문제 해결 @Configuration을 가지고 있는 설정파일을 하나 생성하고, @Bean을 등록시켜서 문제를 해결하였습니다.

728x90
반응형