一種類(lèi)似Retrofit聲明接口即可實(shí)現(xiàn)調(diào)用的WebApi客戶端框架

一種類(lèi)似Retrofit聲明接口即可實(shí)現(xiàn)調(diào)用的WebApi客戶端框架

為.Net出力

java有okhttp,還在okhttp這上搞了一個(gè)retrofit,.net有HttpClient,但目前我沒(méi)有發(fā)現(xiàn)有類(lèi)似的retrofit框架。最近在搞mqtt的webApi封裝,輸出很多web api接口,給移動(dòng)端也有給后臺(tái)二次開(kāi)發(fā)使用的,所以有了搞一個(gè)類(lèi)似retrofit的.net實(shí)現(xiàn),項(xiàng)目叫WebApiClient,托管在https://github.com/xljiulang/WebApiClient

WebApiClient使用

一個(gè)原則:聲明它,然后調(diào)用它,不要實(shí)現(xiàn)它。

namespaceDemo

{

[JsonReturn]

[HttpHost("http://www.mywebapi.com")]publicinterfaceMyWebApi

{

[HttpGet("/webapi/{type}/about")]//GET webapi/typeValue/aboutTask> GetAboutAsync(stringtype);

[HttpGet("/webapi/user")]//GET webapi/user?userName=aa&nickName=bb&&BeginTime=cc&EndTime=ddTask> GetUserAsync(stringuserName,stringnickName, TimeFilter timeFilter);

[HttpPut("/webapi/user")]//PUT webapi/userTask>UpdateUserAsync([JsonContent] UserInfo loginInfo);

[HttpDelete("/webapi/user")]//DELETE? webapi/user?id=idValueTask> DeleteUserAsync(stringid);

[HttpDelete("/webapi/user/{id}")]//DELETE? webapi/user/idValueTask> DeleteUser2Async(stringid);

}

}

namespace Demo{? ? class Program? ? {? ? ? ? static async void Test()? ? ? ? {? ? ? ? ? ? var myWebApi = new WebApiClient.HttpApiClient().GetHttpApi();

await myWebApi.GetAboutAsync("typeValue");

await myWebApi.UpdateUserAsync(new UserInfo { UserName = "abc", Password = "123456" });

await myWebApi.DeleteUser2Async(id: "id001");

}

static void Main(string[] args)

{

Test();

Console.ReadLine();

}

}

}

歡迎加入技術(shù)QQ群:364595326

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評(píng)論 25 708
  • .Net的面向切面編程 .Net的服務(wù)端應(yīng)用AOP很常見(jiàn),在Asp.net MVC與Asp.net WebApi等...
    kingZXY2009閱讀 604評(píng)論 0 2
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,838評(píng)論 18 399
  • http://blog.csdn.net/zhangt85/article/details/43670359
    HAXXY閱讀 619評(píng)論 0 0

友情鏈接更多精彩內(nèi)容