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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

API 개발 고급 정리

API 개발 협업 관련 질문드립니다.

작성

·

2K

0

안녕하세요 영한님 스프링 기본편부터 querydsl까지 들으면서 혼자 프로젝트를 진행했었고 이제 사이드 프로젝트를 하면서 다른 프론트엔드 개발자와 협업해보고 싶습니다. 구글링을 해도 원하는 정보를 얻을 수 없어서... 질문을 남겨보려고 합니다.

보통 사이드 프로젝트를 진행하면 백엔드(저)는 제 pc로, 프론트엔드 개발자분은 그 분의 pc로 개발하게 될텐데, 제가 api 개발을 마치고 깃허브에 코드를 올려놓으면 프론트분이 제 코드를 clone해서 프론트분의 로컬 환경에서 api를 테스트하는 메커니즘인가요? 또한 만약 이렇게 테스트하게 된다면, 프론트분은 db이 어떻게 접근하는지, 보통 백엔드는 api만 개발하고 테스트는 하지 않는지도 궁금합니다. 

 

답변 1

1

안녕하세요. 딸기초콜릿님, 공식 서포터즈 David입니다.

프론트와 백엔드가 협의하여 api 스펙을 정하고 해당 스펙대로 개발합니다.

그러면 프론트는 api를 제공받을 서버가 없어도 개발할 수 있습니다.

백엔드는 api를 테스트하면 됩니다. api로 제공되는 데이터를 화면에서 어떻게 보여줄지는 프론트 담당자의 몫입니다. (물론, 프론트, 백엔드 구분이 없으면 혼자서 다 하게 됩니다.)

만약 api가 다 개발된 뒤 프론트를 개발하게 된다면 별도의 개발 서버에 개발된 웹애플리케이션을 배포하여 프론트에서 api를 사용할 수도 있습니다.

감사합니다.

친절한 답변 감사드립니다 David님. 그럼 프론트단에서는 백엔드 코드와의 별도로 백엔드 개발자가 정의한 api 스펙에 정의된대로 개발한다고 이해하면 되겠네요. 그럼 예를 들어서 백엔드가 프론트에게 /member/{member Id} 요청시 이러한 데이터 포멧을 주겠다라고 하면 프론트는 그것에 맞춰서 하지 별도의 백엔드 코드와의 연결은 없는 것이겠네요. 

마지막 문단에서 말씀하신 개발서버, 배포관련 부분은 제가 잘 이해하지 못한 것 같아서요... 죄송하지만 조금 더 구체적으로 설명해주실 수 있을까요?

개발 서버 관련된 내용은 아래 글을 참고해주세요.

https://bcho.tistory.com/759

조금 더 궁금한 점이 있어서 추가로 질문드립니다 David님. 문서화된 api 명세를 문서화하는 방법을 찾아보니 swagger, spring rest docs 같은 것이 있는데 swagger을 사용해보니 개인 pc(로컬) 에서만 명세 확인이 가능하더군요. 보통 협업을 할 때에는 이 문서를 어떻게 공유하는지 궁금합니다.

단순히 swagger에서 테스트한 api 명세를 다른 파일에 복사 붙이기를 하여 공유한다던지, 아니면 GitBook과 같은 툴을 사용하여 공유하는지 궁금합니다. 이것도 구글링을 해도 너무 원하는 결과가 안 나와서 이렇게 질문드립니다..

해당 내용으로 새로운 질문 글을 올려주시길 요청드립니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기