이는 API 호출을 소비하는 것과 같습니다. 단순히 HttpClient
클래스를 사용하여 엔드 포인트를 호출하고 응답을 처리하면 예상되는 동작에는 차이가 없습니다.
public class Consumer
{
public async Task<string> GetGreetingAsync()
{
using (var client = new HttpClient())
{
var response =
await client.GetStringAsync("http://localhost:5000/api/greeting");
// The response object is a string that looks like this:
// "{ message: 'Hello world!' }"
}
}
}
: 5000 '는 다음 작업을 수행 할 수 있습니다 :
public class StackoverflowController : Controller
{
// I wanted to exemplify async capabilities.
// You'd use async/await for getting database values, etc.
[
HttpGet,
AllowAnonymous,
Route("api/greeting")
]
public Task<GreetingResult> Greeting() =>
Task.FromResult(new GreetingResult { Message = "Hello world!" });
}
public class GreetingResult
{
public string Message { get; set; }
}
이 로컬 호스트`에서 호스팅되었습니다 가정하면 :
이 같은 정의 된 ASP.NET 코어 웹 API 엔드 포인트를 상상해
또한 강력하게 형식화 된 개체로 역 직렬화 할 수도 있습니다 (Newtonsoft.Json
). 나는이 일을하는 UWP 애플 리케이션의 예를 가지고있다 here.
ASP.NET 핵심 WebAPI는 WCF와 다릅니다. WCF처럼 표준 방식을 사용하지 않기 때문에 WebAPI 끝점을 사용하기 위해 자동으로 생성 된 클라이언트가 없습니다. ASP.NET은 HTTP를 프로토콜로 사용하므로 WebClient 또는 유사한 HTTP 요청을 보내고 JSON 또는 XML의 구문 분석 응답을 개체로 보내고 비즈니스 논리를 수행 할 수 있습니다. – NickAb