Skip to content

dotnetcore/WebApiClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

047c622 · Mar 15, 2019
Feb 25, 2019
Dec 26, 2018
Jan 28, 2019
Mar 15, 2019
Mar 28, 2017
May 21, 2018
Jan 16, 2018
Feb 20, 2019
Oct 28, 2018
Apr 28, 2018
May 21, 2018

Repository files navigation

WebApiClient                    

1 Nuget包

WebApiClient.JIT

PM> install-package WebApiClient.JIT
  • 可以在项目中直接引用WebApiClient.JIT.dll就能使用;
  • 不适用于不支持JIT技术的平台(IOS、UWP);
  • 接口要求为public;

WebApiClient.AOT

PM> install-package WebApiClient.AOT
  • 项目必须使用nuget安装WebApiClient.AOT才能正常使用;
  • 没有JIT,支持的平台广泛;
  • 接口不要求为public,可以嵌套在类里面;

2. Http请求

接口的声明

[HttpHost("http://www.webapiclient.com")] 
public interface IMyWebApi : IHttpApi
{
    // GET webapi/user?account=laojiu
    // Return 原始string内容
    [HttpGet("/webapi/user")]
    ITask<string> GetUserByAccountAsync(string account);

    // POST webapi/user  
    // Body Account=laojiu&password=123456
    // Return json或xml内容
    [HttpPost("/webapi/user")]
    ITask<UserInfo> UpdateUserWithFormAsync([FormContent] UserInfo user);
}

public class UserInfo
{
    public string Account { get; set; }

    [AliasAs("password")]
    public string Password { get; set; }

    [IgnoreSerialized]
    public string Email { get; set; }
}

接口的调用

var client = HttpApiClient.Create<IMyWebApi>();
var user = new UserInfo { Account = "laojiu", Password = "123456" }; 
var user1 = await client.GetUserByAccountAsync("laojiu");
var user2 = await client.UpdateUserWithFormAsync(user);

3. Wiki文档

  1. WebApiClient基础
  2. WebApiClient进阶
  3. WebApiClient高级
  4. WebApiClient.Extensions
  5. WebApiClient.Tools.Swagger

4. 联系方式

  1. 加Q群825135345 注明WeApiClient
  2. 邮箱[email protected],不重要的尽量不要发