반응형 전체 글87 http method 웹의 리소스 식별 리소스란? HTTP 요청 또는 응답 대상을 리소스라고 하며, 웹 페이지, 문서,이미지 등 그 어떤 것이든 리소스가 될 수 있다. HTTP에서 각 리소스는 URI(URL+URN(잘 사용되지 않음))로 식별된다. 즉, 쉽게말해 리소스는 클라이언트와 서버간 주고 받는 어떠한 데이터(웹페이지 ,문서, 이미지, 모든 웹 콘텐츠 등)인 것이고, http는 클라이언트와 서버간 리소스를 안전하게 요청 또는 응답받기 위해 규칙을 제공하는 프로토콜인 것이다. 좋은 API URI 설계 규칙 가장 중요한 것은 리소스를 식별 -> 리소스를 URI에 매핑 - 예: /members(리소스)/100 - 회원 조회, /members(리소스)/200 - 회원 등록 등. 리소스와 리소스를 처리하는 행위를 분리 HTTP .. 2023. 11. 10. http 상태코드 HTTP 상태코드 http 상태코드는 http 프로토콜을 통해 웹 브라우저와 웹 서버 간의 통신 중에 전달된다. 상태코드의 역할은 클라이언트에게 요청한 결과의 응답 상태를 알려주는 데 사용된다. 상태 코드 1xx(Informational) : 요청은 수신되었고 처리 중을 나타낸다 (사용될 일이 거의 없는 상태코드) 2xx(Successful) : 요청이 성공적으로 처리됨을 나타낸다. 3xx(Redirection) : 요청을 완료하려면 추가 동작이 필요함을 나타낸다. 4xx(Client Error) : 클라이언트의 요청에 오류가 있음을 나타낸다. 5xx(Server Error) : 서버가 요청을 처리하는 도중 서버 측의 오류로 요청을 정삭적으로 처리하지 못함을 나타낸다. *참고* 클라이언트가 인식할 수 없.. 2023. 11. 10. 컴포넌트 스캔의 필터 활용 - Spring 컴포넌트 스캔의 필터 활용 includeFilters : 포함할 필터 excludeFilters : 불포함할 필터 우선 사용자 정의 에너테이션을 하나 만든다. @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface MyExcludeComponent { } and @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface MyIncludeComponent { } 위에 붙은 여러 가지의 에너테이션은 @Component의 소스코드에서 가져온 것 그 다음에 빈이 될 클래스에 해당 어노테이션을 붙인다... 2023. 10. 27. 의도적으로 동일 타입의 스프링 빈이 다 필요한 경우 - Spring 의도적으로 동일 타입의 스프링 빈이 다 필요한 경우 public class AllBeanTest { @Test @DisplayName("타입의 모든 빈 찾기") void findAllBean(){ ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); // AutoConfigApp도 등록한 이유는 아래 DiscountService는 본인만 스프링빈이기 때문에 // DiscountPolicy 타입 빈을 가져오려면 빈을 포함하고 있는 AutoAppConfig도 같이 빈으로 등록해준다. DiscountService discountService = ac.getBean(Disc.. 2023. 10. 27. 같은 타입 빈이 여러 개인 경우 - Spring 조회 대상 빈이 2개 이상일 때 해결 방안 @Autowired 필드명 매칭 Quilifier -> @Quilifier끼리 매칭 -> 빈이름 매칭 @Primary 사용 @Autowired 필드명 매칭 예시 코드 @Autowired public OrderServiceImpl(ClientRepository clientRepository, DiscountPolicy discountPolicy) { this.clientRepository = clientRepository; this.discountPolicy = discountPolicy; } 예시 상황 discountpolicy의 구현체인 정률과 정액 할인이 빈에 등록됐다고 가정해보자 이 경우에는 오류가 발생할 것이다. (위 생성자에서 DiscountPolicy.. 2023. 10. 27. 사용자 정의 애노테이션 - Spring 사용자 정의 애노테이션 사용자 정의 애노테이션을 만드는 이유? @Qualifier("") 에너테이션 안에 들어가는 문자열은 컴파일 시점에서 문자열 인식이 안되는 문제가 있을 수 있다. 또는 문자를 잘못 입력해도 오류가 발생할 수 있다. 이럴때 사용자 정의 애노테이션을 만들어서 코드의 정확성을 높이는 방법을 활용할 수 있다. @Qualifier 에노테이션 만들기. shift+shift 하면 여러가지 소스파일을 검색할 수 있음. 여기서 @Qualifier 검색 Qualifier의 소스코드를 보면 여러가지 에너테이션으로 만들어진 것을 볼 수 있다. 여러 에너테이션들을 복사해서 만드려는 에너테이션에 그대로 복사. 그리고 Qualifier를 마지막에 붙여줌. 에노테이션 직접 만들기 @Target({ElementT.. 2023. 10. 27. 이전 1 ··· 4 5 6 7 8 9 10 ··· 15 다음 반응형