[Xmarin.android] 调用POST的WebApi

[Xmarin.android] 调用POST的WebApi,第1张

概述摘要:[Xmarin.android]调用POST的WebApi 纪录一下Xamarim.android去调用WebApi的研究。在WebApi的部分就不带太多细节,如果使用网页来测试在MVC项目里面新增的WebApi的话,就是只能测试Get动词。这一篇我们要测试的是Xamarin.Android去调用Post动词的WebApi。在进入Xamarin.Andr

摘要:[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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存