일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 초보
- 웹프로그래밍
- HTML 기초
- 안드로이드 통신
- 커스텀뷰
- 어플리케이션
- html
- 레이아웃
- view
- HTML 문법
- 제약
- OnDraw
- udacity
- firebase
- 안드로이드
- Udacity Firebase
- CustomView
- retrofit
- 파이어베이스
- Android
- Retrofit2
- gradle
- REST API
- 제약조건레이아웃
- 앱
- 프로그래밍
- 안드로이드프로그래밍
- onMeasure
- RESTful
- 네트워크 개념
- Today
- Total
Polyglot's language & programming story.
Retrofit2) Retrofit2 API 정의 기초 본문
이 포스팅은 https://futurestud.io/tutorials/retrofit-2-basics-of-api-description 블로그를 참조하여 작성했습니다.(거의 번역해서 정리한 수준) :D
어떻게 API를 정의할 것인가?
위의 코드를 보시면 전에 했던 예제를 볼 수 있습니다.
이번 포스팅은 Retrofit2 API Interface를 정의를 하는 기초적인 방법을 알아볼 것입니다.
1. HTTP Method
서버와 클라이언트간 통신을 하기 위해 HTTP 프로토콜을 사용합니다.
HTTP 프로토콜에 관한 내용은 HTTP 프로토콜 관련 문서를 참조해주시길 바랍니다.
참조 문서 : https://www.joinc.co.kr/w/Site/Network_Programing/AdvancedComm/HTTP
HTTP프로토콜 메소드는
GET(참조)
POST(추가)
PUT(수정)
DELETE(삭제)
등이 있습니다. 이러한 메소드들을 우리는 @(어노테이션)을 사용해서
@GET,@POST, @PUT, @DELETE, @HEAD or @PATCH 를 사용할 수 있습니다.
즉 간편하게 다음과 같이 어노테이션으로 HTTP 메소드를 구현할 수가 있습니다.
@GET("/user/info") 처럼 @GET, @POST, @PUT, @DELETE 안에 우리가 접근하고자 하는 위치 경로를 설정해 줄 수가 있습니다.
하지만 위치 설정을 할 때 @GET("http://futurestud.io/api/user/info")같이 풀 URL로 작성하는 것을 지양해야합니다.
왜냐하면. base URL(기본 URL: http://futurestud.io)을 변수로 지정해서 각각 메소드는 ("/api/user/info")이렇게 접근하는 장점이 있기 때문입니다.
5. Query 매개변수
https://futurestud.io/tutorials?filter=video
여기서 ?filter=video 처럼 어느 데이터를 요청하는지 설명하는 query 문이 있습니다. 위 쿼리를 요청하기위해서
직접 주소창에 쓸 필요가 없이 @Query 매개변수를 사용하면됩니다.
@Query() 안에 매개변수는 query의 이름이고 메소드의 매개변수는 query의 값을 의미합니다. Retrofit은 자동으로 query를 설정해서 응답해줍니다.
만약 메소드 값에 null을 입력하면 Retrofit은 그냥 무시해버립니다 .
'Programming > AndroidProgramming' 카테고리의 다른 글
Firebase 1) Firebase란? (0) | 2018.07.06 |
---|---|
MVP 패턴이란? (0) | 2018.07.04 |
Retrofit2) Retrofit2를 사용해서 데이터 통신을 쉽게 해보자. (0) | 2018.07.02 |
BroadcastReceiver 예제 : 핸드폰 끄거나 킬때 음악 소리나게 하기 (0) | 2018.06.21 |
CustomView #4 예제1 (0) | 2018.06.20 |