본문 바로가기
CS/CS

[CS] RESTful API

by 리드맥 2022. 3. 7.

Reoresentaianl State Transfer: 소프트웨어 프로그램 아키텍쳐의 한 형식

REST: HTTP 프로토콜을 그대로 활용, 웹의 장점 최대한 활용가능

  • 자원에 대한 행위는 GET, POST, PUT, DELETE 등 HTTP Method로 표현한다.
  • URI를 통해 자원 명시 
  • 웹의 모든 자원에 고유한 HTTP URI 부여 ( 이미지, 동영상, DB ... )
  • 네트워크 상에서 Client와 Server 사이의 통신 방식중 하나

ex)

http://www.a.com/posts/a-post

 

REST API

  • REST의 특징을 기반으로 서비스 API를 구현한것
  • ex) 구글맵에서는 REST API 제공
  • API: 자원을 줄테니까 거기서 처리해서 나한테 결과를 보내줘
  • 특징: 요청 자체로 무엇을 할지 추론 가능한 것

 

RESTful

  • 개발자가 HTTP 메소드와 URI 만으로 인터넷에 자료를 crud 할 수 있는것을  RESTful 하다고 한다.
  • REST를 REST 답게 사용하기위한 방법으로 약속이라고 생각하면 될듯하다.

 

REST API + RESTful - > RESTful API: REST API를 RESTful 하게 만든것

 

-> REST 가 url 을 통해서 데이터를 가져오는건데 여기에 보안은 어떻게 되는 거지? url 을 브라우저에 복사해보면 데이터가 쭉 나오던데..

url을 이용해서 메인 db에 접속해서 DB 데이터를 가져오는건가 ? 아니면 url 자체로 보안이 될수있는 방법이 있는건가

 

 

-> 추가

nodejs express 에서 서버를 연후 iOS 연동을 해보았다. -> 연동아니고 url로 들어간 것

데이터가 나온다

 

-> 추가

iOS 는 http는 데이터를 가져 올 수 없게 막아놔서 https를 적용해 보았다. 옛날에 웹 공부할때 사놓은 도메인이 있어서 여기로 연동해보았다. 처음 ssl 인증을 해보아서 많이 해맸지만 뜨니까 신기했다.

이렇게 서버로 url을 받는 REST API를 적용해 놓으면 아이폰에서도 데이터를 가져올 수 있고, 웹이나 안드로이드에서도 데이터를 가져올 수 있다. -> 도메인만 계속 갖고 있으면 서버 ip가 바뀌어도 도메인을 통해 바뀐 ip로 들어오기 때문에 어플을 런칭했을때에도 데이터를 못가져오는 불상사는 막을 수 있을것 같다.  -> 앱 런칭을 했을 때 ip가 바뀌면 바뀐 ip를 어떻게 다시 가져오지? 에 대한 의문이 풀렸다.

물론 다른방법도 있겠지만 REST API를 공부하면서 많이 배운것 같다.

 

-> 추가

Codable 프로토콜로 JSON 을 Decode 해서 Label에 올려보았습니다

서버는 제가 공부할때만 열어놔서 아마 들어가지는 못할것 같습니다.

 

 

'CS > CS' 카테고리의 다른 글

[CS] Linked List, 배열 차이점  (0) 2022.03.31
[CS] MVVM 간단하게 메모  (0) 2022.03.02
[CS] Dependency Injection  (0) 2022.01.13
[CS] 프로토콜, 인터페이스 차이  (0) 2022.01.12
[CS] 함수형 프로그래밍  (0) 2022.01.12

댓글