Loading...

Spring/Blog-V2 / / 2022. 3. 24. 21:13

스프링 48강. API(Application Programming Interface)

반응형

 

데이터를 리턴하는 컨트롤러 주소 앞에는 /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

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com

메타 코딩 유튜브

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 

 

반응형