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

작성자 없음

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

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

API 개발 고급 정리

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

22.08.12 09:03 작성

·

1.9K

0

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

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

 

답변 1

1

David님의 프로필 이미지

2022. 08. 12. 09:23

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

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

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

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

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

감사합니다.

딸기초콜릿님의 프로필 이미지

2022. 08. 12. 11:43

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

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

David님의 프로필 이미지

2022. 08. 12. 17:05

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

https://bcho.tistory.com/759

딸기초콜릿님의 프로필 이미지

2022. 08. 22. 01:14

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

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

David님의 프로필 이미지

2022. 08. 22. 13:29

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

작성자 없음

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

질문하기