강의

멘토링

로드맵

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

pwn2own님의 프로필 이미지
pwn2own

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

회원 등록 API

API Versioning 관련 질문

작성

·

572

0

안녕하세요.

추후 확장성을 위해 api versioning을 진행하려고 합니다.

```

/api/v1/

  - MemberController

  - PostController

```

위처럼 v1폴더 내부에 총 2가지의 컨트롤러가 있다고 가정을 할게요.

그리고 URL을 /api/v1/members|posts 로 맞추고 싶습니다.

<질문>

1. 모든 URL에 /api라는 prefix를 붙이고 싶습니다. 따라서 application.yml에

server:
servlet:
context-path: /api

로 설정해두었는데 실무에서 사용하는 방법일까요?

2. 각 컨트롤러에 @RequestMapping(value = "/v1/members|posts") 로 설정해두었는데 버저닝을 이렇게 진행하는게 실무에서 사용하는 방법일까요?

감사합니다.

퀴즈

66%나 틀려요. 한번 도전해보세요!

API 개발에서 JPA 엔티티 객체를 요청 파라미터나 응답 값으로 직접 사용하는 것을 지양해야 하는 주된 이유는 무엇일까요?

데이터베이스 성능이 저하되기 때문입니다.

API의 스펙이 엔티티의 변화에 직접적으로 영향을 받기 때문입니다.

클라이언트 측의 데이터 파싱 로직이 복잡해지기 때문입니다.

네트워크 전송량이 불필요하게 증가하기 때문입니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. teamhide님

먼저 1번 방법은 컨텍스트 패스의 개념을 이해하셔야 합니다.

https://www.inflearn.com/questions/193822

이 방법은 지금 시대에 사용하기에는 적절하지 않습니다.

버전 처리를 하는 방법은 사실 너무 다양합니다.

간단하게는 다음과 같이 컨트롤러에서 버전 처리를 하시면 됩니다.

@Controller("/v1")

감사합니다.

pwn2own님의 프로필 이미지
pwn2own

작성한 질문수

질문하기