강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

강낭콩님의 프로필 이미지
강낭콩

작성한 질문수

스프링 기반 REST API 개발

스프링 REST Docs 적용

JUnit5에서 prettyPrint() 적용하기

작성

·

723

3

@ExtendWith({RestDocumentationExtension.class, SpringExtension.class})
@SpringBootTest
class EventControllerTest {

private MockMvc mockMvc;

@Autowired
private ObjectMapper objectMapper;

@Autowired
private WebApplicationContext context;

@Autowired
private EventRepository eventRepository;

@BeforeEach
void init(RestDocumentationContextProvider restDocumentation) {
this.mockMvc = MockMvcBuilders
.webAppContextSetup(this.context)
.addFilters(new CharacterEncodingFilter("UTF-8", true))
.apply(documentationConfiguration(restDocumentation)
.operationPreprocessors()
.withRequestDefaults(modifyUris().host("yoonjoy.me").removePort(), prettyPrint())
.withResponseDefaults(modifyUris().host("yoonjoy.me").removePort(), prettyPrint()))
.alwaysDo(print())
.build();
}


추가로 addFilters에 UTF-8 설정을 통해 responseBody에서 한글이 깨지는 것을 막고,

modifyUris을 통해 호스트 url localhost을 원하는 문자로 바꿀 수 있습니다.

퀴즈

REST 아키텍처 스타일에서 HATEOAS(Hypermedia as the Engine of Application State)가 중요한 주된 이유는 무엇일까요?

API 서버의 응답 처리 속도를 높이기 위해서입니다.

클라이언트가 하이퍼미디어를 통해 애플리케이션의 상태 전이를 동적으로 탐색할 수 있도록 지원하기 위해서입니다.

데이터 전송 시 네트워크 대역폭 사용량을 줄이기 위해서입니다.

API 엔드포인트 URL 구조를 미리 고정시키기 위해서입니다.

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

와 좋은 팁 감사합니다!

강낭콩님의 프로필 이미지
강낭콩

작성한 질문수

질문하기