在很多业务场景中经常会遇到调用web api接口,并且把参数传递给web api,下面将一起了解一下如何在.net core中调用web api,并且将json字符串传递给post方法
环境:.net core
组件:RestSharp(可以通过NuGget组件包添加到项目组)
下面是调用web api的两种方式
.net core请求: //articles为Article集合 List<Article> newaddArticleList = articles; var ArticleServiceUrl = RandUXML.Read("ArticleServiceUrl"); var clientsharp = new RestClient(ArticleServiceUrl+"api/Article/SyncNews"); clientsharp.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); //将list集合转换为json字符串,并传递给web api string ListJson = JsonConvert.SerializeObject(articles); request.AddParameter("application/json", ListJson, ParameterType.RequestBody); IRestResponse response = clientsharp.Execute(request); Console.WriteLine(response.Content); Ajax请求: var settings = { "url": weburl+"/api/Article/SyncNews", "method": "POST", "timeout": 0, "headers": { "Content-Type": "application/json" }, "data": JSON.stringify("json字符串"), }; $.ajax(settings).done(function (response) { console.log(response); });下面是.net core及JQuery调用web api方法
.Net Core: var client = new RestClient(weburl+"/api/Article/GetAllArticles"); client.Timeout = -1; var request = new RestRequest(Method.GET); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); JQuery: var settings = { "url": weburl+"/api/Article/GetAllArticles", "method": "GET", "timeout": 0, }; $.ajax(settings).done(function (response) { console.log(response); });如上就是.net core调用web api的方法,如上描述如有错漏请大家评论区直接留言,多谢
