c# – 如何使用.net webapi保存对象

c# – 如何使用.net webapi保存对象,第1张

概述我在.net(我的第一个)中创建了WebAPI.使用这个api从db获取对象,查询db等对我来说很容易.没什么新鲜的 但我想知道如何使用这个webapi保存对象? 我有一个与我的webapi通信的clinet应用程序(平板电脑,手机,PC).从我的应用程序中可以保存用户新闻.现在我需要将其保存在db中.我使用Azure SQL.现在我如何将此对象传递给API,以便我可以保存它? 对于我的应用程序, 我在.net(我的第一个)中创建了WebAPI.使用这个API从db获取对象,查询db等对我来说很容易.没什么新鲜的

但我想知道如何使用这个webAPI保存对象?

我有一个与我的webAPI通信的clinet应用程序(平板电脑,手机,PC).从我的应用程序中可以保存用户新闻.现在我需要将其保存在db中.我使用Azure sql.现在我如何将此对象传递给API,以便我可以保存它?

对于我的应用程序,我使用C#/ XAML
对于我的WebAPI,我使用.NET

我正在使用这段代码:

httpClIEnt httpClIEnt = new httpClIEnt();        String u = this.APIUrl + "sd/Localization/insert";        Uri uri = new Uri(u);        httpRequestMessage httpRequestMessage = new httpRequestMessage(httpMethod.Post,uri);

但我不知道如何发送对象?我应该序列化吗?如果是,如何通过邮寄发送.

//更新

我已经构建了这个

httpClIEnt httpClIEnt = new httpClIEnt();        String u = this.APIUrl + "sd/Localization/insert";        Uri uri = new Uri(u);        httpRequestMessage httpRequestMessage = new httpRequestMessage(httpMethod.Post,uri);        httpRequestMessage.Content = new StringContent("{'name':'Foo','Surname':'bar'}");        await httpClIEnt.PostAsync(uri,httpRequestMessage.Content);

但在我的API中,变量为null

这是我API的代码

// POST sd/Localization/insert    public voID Post(string test)    {        Console.Writeline(test);    }

“test”变量为null.
我究竟做错了什么 ?

//更新2

using (httpClIEnt httpClIEnt = new httpClIEnt())        {            String u = this.APIUrl + "sd/Localization/insert";            Uri uri = new Uri(u);            httpRequestMessage request = new httpRequestMessage(httpMethod.Post,uri)            {                Method = httpMethod.Post,Content = new StringContent("my own test string")            };            await httpClIEnt.PostAsync(uri,request.Content);        }

路由配置

public class RouteConfig{    public static voID RegisterRoutes(RouteCollection routes)    {        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");        routes.MaphttpRoute(            name: "DefaultAPI",routeTemplate: "sd/{controller}/{ID}",defaults: new { ID = RouteParameter.Optional }        );        routes.MapRoute(            name: "Default",url: "{controller}/{action}/{ID}",defaults: new { controller = "Home",action = "Index",ID = UrlParameter.Optional }        );    }}

在你所有的答案之后我创造了这个,但我仍然在我的API的param上得到null.哪里出错了?

解决方法 WebAPI非常擅长解析发送给它的数据并将其转换为.NET对象.

我不习惯使用带有WebAPI的C#客户端,但我会尝试以下方法:

var clIEnt = new httpClIEnt();clIEnt.PostAsJsonAsync<YourObjectType>("uri",yourObject);

注意:您需要使用System.Net.http(来自具有相同名称的程序集)以及System.Net.http.Formatting(也来自具有相同名称的程序集).

总结

以上是内存溢出为你收集整理的c# – 如何使用.net webapi保存对象全部内容,希望文章能够帮你解决c# – 如何使用.net webapi保存对象所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/langs/1223563.html

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

发表评论

登录后才能评论

评论列表(0条)

保存