일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- jsp프로젝트
- KotlinInAction
- 트랜잭션
- 스프링트랜잭션
- 트랜잭션성질
- 알고리즘
- DynamicWebProject
- 레벨로그
- 리버스프록시
- java
- 우아한테크코스
- 객체지향생활체조
- Google Place Photo API
- GithubOAuth
- S2139
- kotlin
- 백준
- subprocess에러
- mysqld.sock
- 코틀린기초
- 트랜잭션속성
- 코틀린
- 자바비동기
- 코틀린뽀개기
- 무중단배포
- ObjectCalisthenics
- servlet프로젝트
- 테코톡
- 데이터베이스락
- tomcat설정
- Today
- Total
초이로그
UriComponentsBuilder: builder() vs. builder(encoded) 본문
Google의 Place API를 호출하기 위해 사용중이었는데 코드리뷰에서 이 둘의 차이를 묻는 질문이 들어왔다.
이전에 찾았을땐 단순히 인코딩을 하냐 안하냐의 차이라고 슥 보고 넘어갔었지만 다시한번 찾아보는 계기가 되었다.
일단 UriComponentsBuilder클래스에 들어가보면 두가지 빌더 메소드가 있다는 것을 확인할 수 있다.
하나는 매개변수가 없는 build(). 그리고 encoded라는 매개변수를 갖는 build(boolean encoded)이다. 정리해보자면,
build()
해당 빌더에 포함된 다양한 컴포넌트로부터 UriComponents 인스턴스를 빌드한다.
build(boolean encoded)
build()의 변형. 이미 컴포넌트가 완전히 인코딩된 경우의 UriComponents 인스턴스를 생성하기 위해 사용한다.
빌더가 fromUri를 통해 생성된 경우에 유용하다.
fromUri(URI uri)
매개변수에서 주어진 URI에서 초기화된 빌더를 생성한다.
빌더의 컴포넌트들은 FULLY_ENCODED 형식이어야하므로 build(true)를 명시하여 UriComponents 인스턴스를 빌드하여 컴포넌트가 인코딩되었음을 표시하는 것이 좋다.
결국, fromUri를 사용했다면 build(true)를 명시해달라는 이야기였다!
추가 참고: Spring 공식 문서(https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html#build--)
'Spring' 카테고리의 다른 글
준비하기1.Spring강의듣기(백엔드개발) (0) | 2021.02.02 |
---|---|
준비하기0. Spring강의듣기(환경설정,웹개발기초) (0) | 2021.02.01 |