Xamarin으로 작성된 모바일 앱과의 연동을 위해 .NETCore로 CRUD 작업을 지원하는 WebAPI를 생성했다.
.NET 기반 Client는 아래 규칙으로 WebAPI와 연동하게 된다.
restfull api 개념
meetup.toast.com/posts/92
작업 | HTTP Method | restful url |
사용자 조회 | GET | /api/account/id |
사용자 생성 | POST | /api/account |
사용자 수정 | PUT | /api/account |
사용자 삭제 | DELETE | /api/account/id |
.NET에서 연동 작업은 HttpClient 로 연동하게 되는데, 그전에 NuGet Package Manager를 통해 newton사의 Newtonsoft.Json 과 WebApi.Client를 설치해야 하며, GET,POST,PUT,DELETE Method는 httpClient object Method에 정의되어 있다.
HttpClient WebAPI 연동법은 아래와 같다.
HttpClient object 선언
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("https://localhost:44311");
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaders("application/json");
> await httpClient.GetAsync("api/account/1");
> await httpClient.PostAsJsonAsync("api/account", account);
> await httpClient.PushAsJsonAsync($"api/account/{id}", account);
> await httpClient.DeleteAsync($"api/account/{id}");
Ex)WebAPI GET 호출 예제 ~/api/v1/account/{id}
public class Account
{
public long id { get; set; }
public string email { get; set; }
public string password { get; set; }
public string cnic { get;set; }
}
var response = await httpClient.GetAsync("/api/v1/account/1");
Account account = new Account()
account = await response.Content.ReadAsAsync(response);
string res = JSONHelper.Serialize<Account>(account);
결과
{
"id":1
"email":"test@gmail.com",
"password":"1234",
"cnic":"01012341234"
}
'개발언어 > Xamarin' 카테고리의 다른 글
Firebase Realtime Database와 Firestore Database 차이점 (0) | 2021.04.21 |
---|---|
Xamarin euc-kr Encoding exception 처리 (0) | 2021.03.22 |
Google Firebase 연동 - Realtime Databas (0) | 2021.03.06 |
Google Play 스토어 Android 앱 재배포 (0) | 2021.02.05 |
XamarinForms GoogleMap 연동 (0) | 2021.01.31 |