摘要:[Xmarin.androID] 调用POST的WebAPI@H_404_1@
纪录一下Xamarim.androID去调用WebAPI的研究。在WebAPI的部分就不带太多细节,如果使用网页来测试在MVC项目里面新增的Web API的话,就是只能测试Get动词。这一篇我们要测试的是Xamarin.AndroID去调用Post动词的Web API。在进入Xamarin.AndroID之前,先来看看如何如何测试@H_404_1@
你的WebAPI 在接受Post动词时正不正常? 这边推荐两个好用的工具,POSTMAN跟DHC。这边用这个工作先来做前端取数据的测试。@H_404_1@
@H_404_1@@H_404_1@
@H_404_1@
在WebAPI的Controller中,如果是使用[FromBody]的方式来接收资讯。@H_404_1@
MVC的 Controller 中,以下方方式声明。这个API接受POST动词传送过来的数据。并且回传一个@H_404_1@
字符串数据。@H_404_1@
public string Post([FromBody]string value){ return "webAPI" + value;}
@H_404_1@
@H_404_1@
因为是以FromBody的方式接收数据,在前端的测试,必须这样送出数据。(这边以DHC来测试)@H_404_1@
@H_404_1@@H_404_1@
@H_404_1@
特别要注意的是要送出的Content-Type。 在上面带入的参数是一个[Formbody],所以在Content-type的部分要设定为 application/x-www-form-urlencoded。@H_404_1@
@H_404_1@
在WebAPI的Controller中,如果是使用Json的方式来接收资讯。@H_404_1@
假设要带入的参数是一个以上。这种情况是常常会遇到的。在Controller里面做以下的声明。@H_404_1@
首先建立一个类,然后再Action方法里面接受传入这个类的值。@H_404_1@
@H_404_1@
public string Post(Test testobj){ return "value1 = " + testobj.value1 + "value2 = " + testobj.value2;}public class test(){public string value1 { get; set; }public string value2 { get; set; }}
@H_404_1@
WebAPI由本来接收Frombody的数据转变成接收Json文件。在前端必须改成送出JsON的数据。@H_404_1@
另外在刚才的Content-type中,设定Type为 application/x-www-form-urlencoded。在这部分要改成@H_404_1@
application/Json。@H_404_1@
@H_404_1@@H_404_1@
@H_404_1@
n 在Xamarin iOS与AndroID里调用POST的WebAPI@H_404_1@
在 Xamarin环境中,要去调用POST 动词的WebAPI一样是使用webClIEnt这个方式。@H_404_1@
刚才的Content-type中,要设定为application/Json。@H_404_1@
public voID CallwebAPI(){var testobj = new Test (); testobj.value1 = "Value1"; testobj.value2 = "Value2"; //取得数据 var webClIEnt = new System.Net.WebClIEnt(); webClIEnt.headers.Add("Content-Type", "application/Json"); var result = webClIEnt.UploadString("http://ctyl.azurewebsites.net/API/values", "POST",JsonConvert.SerializeObject(testobj)); }
@H_404_1@
@H_404_1@
@H_404_1@
参考文献@H_404_1@
Post parameter is always null@H_404_1@
http://stackoverflow.com/questions/10984040/post-parameter-is-always-null@H_404_1@
MVC4 Web API Rest interface with Multiple Parameters@H_404_1@
http://stackoverflow.com/questions/12835074/mvc4-web-API-rest-interface-with-multiple-parameters@H_404_1@
如何让 ASP.NET Web API 无论任何要求都响应 JsON 格式@H_404_1@
http://blog.miniasp.com/post/2012/10/12/ASPNET-Web-API-Force-return-JsON-format-instead-of-XML-for-Google-Chrome-firefox-Safari.aspx@H_404_1@
Parameter Binding in ASP.NET Web API@H_404_1@
http://www.asp.net/web-apI/OvervIEw/formats-and-model-binding/parameter-binding-in-aspnet-web-API@H_404_1@
[Web API][笔记] POST 总是 nothing 或 null@H_404_1@
http://www.dotblogs.com.tw/topcat/archive/2013/04/09/101105.aspx@H_404_1@
ASP.NET Web API 参数系结@H_404_1@
http://huan-lin.blogspot.com/2013/01/aspnet-web-API-parameter-binding.HTML@H_404_1@
原文:大专栏 [Xmarin.android] 调用POST的WebApi@H_404_1@
总结
以上是内存溢出为你收集整理的[Xmarin.android] 调用POST的WebApi全部内容,希望文章能够帮你解决[Xmarin.android] 调用POST的WebApi所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)