아무래도 도대체 rest API가 무엇인지 restful API와 다른 것인지, 방식을 다르게 쓴다는 말은 알았지만 그러면 도대체 뭘 해야한다는 것인지 ... 전혀 이해하지 못한 채로 심지어 node js 를 통한 rest api 의 기초편까지 동영상 공부를 했다.
그러나 node js 의 기초에 대해서만 ... 배우게 되었다. 난 여전히 rest api 를 이해하지 못했던 차에, 아주 짧은 동영상 강의가 있어 반신반의로 들어보았는데 이해가 됐다! 혹시나 누군가에게 도움이 될까 싶어 정리해본다.
우선 API는 Application Programming Interface 이다.
예를 들어 설명해보겠다.
A라는 업체에서 날씨 정보를 보여줄 수 있는 소프트웨어를 만들어냈다. B업체에서 만들고 있는 소프트웨어에, 날씨 정보가 포함되면 좋을 것 같았다. 하지만 이미 날씨가 공유되고 있는 소프트웨어가 있으니 굳이 새로 개발할 필요 없이, 날씨 정보만 A업체로 물어봐서 답변을 받으면 되는 상황이다. 하지만 매 순간 클라이언트가 A업체로 연락할 순 없으니, A업체가 날씨 정보를 볼 때 사용하는 방식으로 동일하게 코드를 짜면, 그 코드가 실행될 때마다 A업체에서 답변이 오게 할 수 있다.
이럴 때 날씨 정보를 받기 위해 A업체가 사용하는 방식 을 API라고 할 수 있겠다. 물론 정확한 의미는 아니다. API는 한 소프트웨어에서 다른 소프트웨어로 정보를 주고받기 위해 쓰이는 것이다. 나처럼 도대체 무슨 소리인지 모를 사람을 위해 하는 설명이라는 점 참고 바란다!
아무튼 세상엔 정말 많은 종류의 API가 있다. 이 중에서 요즘 핫한 REST API는 GET / POST / DELET / PUT (+Patch) 이렇게 다섯가지를 이용한다.
이건 또 무슨 소리냐면, 생각보다 단순했다. HTTP 요청을 보낼 때 어떤 URI 에 어떤 메소드를 사용할지 그냥 저런 형식으로 보내면 되는 것이었다. 형식이기 때문에 기술에 구애를 받지 않는데, 난 이것도 이해하지 못한채로 node js를 통한 restful api 니, java 초심자를 위한 restful api니 하는 것들을 봤으니 이해하지 못할 수 밖에 없었다....
규칙을 준수하면 어떤 기술로도 restful api 를 사용할 수 있는 것이었다...
물론 이 기초를 이해한 상태로 rest api를 위한 규칙을 더 살펴봐야할 일이지만, 꽉 막혀있던 것이 갑자기 해소되는 기분이 들었다.
참고용으로 나머지 적어두고 글을 마치도록 하겠다.
get -> 조회용도
Post -> 정보 추가 용도
put / patch -> 정보 수정 용도. put, patch를 같이 쓰는 경우도 있긴 함. put 은 정보를 통째로 갈아끼울 때. patch는 특정 정보만 수정할 때.
delete -> 정보 삭제용도.
'JAVA' 카테고리의 다른 글
JAVA 스터디 : MVC패턴이란? (0) | 2020.12.24 |
---|---|
JAVA 스터디 : Ajax ? (0) | 2020.12.23 |
JAVA 스터디: RESTful API (0) | 2020.12.21 |
JAVA 스터디 : 커넥션 풀(Connection pool) (0) | 2020.12.18 |
JAVA 스터디 : EL (Expression Language) (0) | 2020.12.17 |