데이터를 리턴하는 컨트롤러 주소 앞에는 /api를 붙인다.
개발자들끼리의 약속과도 같다.
여기서 api는 뭘까?
API(Application-Programming Interface) : 컴퓨터나 컴퓨터 프로그램 사이의 연결
일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공
Application-Programming(AP)
갑이 프로그램을 만들었음
API의 주체가 갑이다.
잘 만들어놓은 프로그램을 공유하는 것
Interface(I)
이 프로그램을 을에게 공유하고 싶을 때 인터페이스를 만든다.
API는 갑이 잘 만든 프로그램을 을에게 공유하고 싶을 때 만든다.
여기서 스프링으로 봤을 때는
AP까지는 서비스, 레파지토리, DB와 같은 모든 내부가 AP이고,
컨트롤러가 인터페이스이다.
컨트롤러를 통해 외부에 제공할 수 있었기 때문이다.
그래서 API가 우리에게 제공해주는 것은 컨트롤러의 주소를 제공해주는 것이다.
아래와 같은 형식이 API 문서이다.
갑이 만들어주는 것이다!!
GET 요청 주소 : http://www.naver.com/search
요청 변수 : String keyword
응답의 MIME 타입 : application/json
{
"code":1,
"msg":"성공",
"data": {
~~~
}
}
GET 요청이니까 요청 변수 키워드는 쿼리 스트링으로 넘어온다는 것을 알기 때문에
쿼리 스트링으로 보내라고까지 적어주진 않는다!
갑은 자기 마음대로 API 문서를 만드는데
아무리 거지같이 만들어도 항의할 수 없다.
무료로 제공해주는 인터페이스니까!
을이 브라우저로 요청할지, postman으로 요청할지를 모르기 때문에
html 파일을 넘겨주지 못한다.
무조건 json 데이터로 응답해준다.
[출처]
https://cafe.naver.com/metacoding
메타 코딩 유튜브
https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9