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

Jong Hee Park님의 프로필 이미지

작성한 질문수

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

회원 등록 API

안녕하세요 강사님 질문있습니다.

해결된 질문

20.12.22 17:17 작성

·

202

0

첫번째로 제가 api란 용어를 application program interface라고 알고 있는데 맞나요?

두번째는 1번째 강의에서 만든건 API라는게 적용이 안된 프로젝트인가요? API개념이 햇갈려서요;;; 

세번째로는 postman을 깔긴 깔았는데요 왜 이걸로 테스트를 하는거에요? 그냥 첫강의때처럼 쌩으로 크롬같은데서 켜서 하는거랑 무슨차이인가요?

네번째는 @RequestBody에 대해서인데요. 이 어노테이션이 파라미터에 붙으면 ajax에서 json 형태로 전송하면 그 전송한걸 받는 곳에 이걸 붙으는걸로 알고 있는데 맞나요? 

그래서 postman에서 json형태로 컨트롤러쪽에 post형태로 쏴줬으니 저 어노테이션을 붙인 곳에 바인딩된다고 생각을 하면 되는게 맞지요? 

답변 3

3

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

2020. 12. 22. 23:01

네 HTTP API에는 GET, POST, PUT, DELETE ... 여러가지가 있고, 보통 JSON으로 데이터를 주고 받습니다. 꼭 JSON이 아니어도 됩니다. 

API는 매우 넓은 범위로 용어가 사용됩니다. API라는 뜻은 꼭 원격지 서버가 아니라 프로그램 끼리 통신하기 위한 인터페이스로 이해하면 됩니다. 자바에서 배우는 API는 한 프로그램 안에서 클래스나 컴포넌트 끼리 통신하기 위한 약속으로 생각하시면 됩니다. 

감사합니다.

2

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

2020. 12. 22. 21:29

안녕하세요. Jong Hee Park님

답변을 바로 달아드릴께요.

첫번째로 제가 api란 용어를 application program interface라고 알고 있는데 맞나요?

-> 네 맞습니다.

두번째는 1번째 강의에서 만든건 API라는게 적용이 안된 프로젝트인가요? API개념이 햇갈려서요;;; 

-> API는 매우 폭넓은 의미로 사용됩니다. 원격지가 아니라 내부 프로그램이 끼리 통신할 때도 API라고 하고, 원격지의 애플리케이션끼리 통신할 때 제공하는 인터페이스라는 뜻 등등 매우 넓게 사용됩니다.

웹 애플리케이션을 개발할 때 API라는 의미는 보통 HTTP API를 의미합니다. HTTP API는 HTML form을 통해서 데이터를 전송하고 HTML로 결과를 받는 방식이 아니라, JSON 등으로 실제 데이터를 바로 전송하는 방식을 의미합니다. 그런 의미에서 1강에서 만든 것은 HTTP API가 아닙니다.

세번째로는 postman을 깔긴 깔았는데요 왜 이걸로 테스트를 하는거에요? 그냥 첫강의때처럼 쌩으로 크롬같은데서 켜서 하는거랑 무슨차이인가요?

-> 데이터를 서버로 전송할 때 편리합니다. 크롬 같은 곳은 HTTP message body에 데이터를 직접 넣어서 전송하기가 어렵습니다.

네번째는 @RequestBody에 대해서인데요. 이 어노테이션이 파라미터에 붙으면 ajax에서 json 형태로 전송하면 그 전송한걸 받는 곳에 이걸 붙으는걸로 알고 있는데 맞나요? 

그래서 postman에서 json형태로 컨트롤러쪽에 post형태로 쏴줬으니 저 어노테이션을 붙인 곳에 바인딩된다고 생각을 하면 되는게 맞지요? 

-> 네 맞습니다^^

0

Jong Hee Park님의 프로필 이미지
Jong Hee Park
질문자

2020. 12. 22. 22:34

그러면요 HTTP API에는 get post put 세가지가 있고  3가지 방식으로 json 데이터를 주고 받는다는 말씀이시지요? 음... 하나 더 있나? 아무튼 API 서버라는 말은 저런 방식으로 데이터를 주고 받게끔 만들어진 웹어플리케이션 프로그램 또는 서버라고 이해하면 될까요? Java를 배울때 API라는 용어를 처음 접했던 기억이 있는데 이게 이런 차이점이 있었군요.. 답변 감사합니다 강사님