Asp.net core .NetCore 3.1 Webapi未使用post字符串
我将webapi解决方案从2.1升级到3.1 我的Startup.cs文件包含:Asp.net core .NetCore 3.1 Webapi未使用post字符串,asp.net-core,.net-core,asp.net-core-webapi,Asp.net Core,.net Core,Asp.net Core Webapi,我将webapi解决方案从2.1升级到3.1 我的Startup.cs文件包含: public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddMvc().AddNewtonsoftJson(); .. public void Configure(IApplicationBuilder app, IHostingEnvironment env)
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddMvc().AddNewtonsoftJson();
..
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
..
我的控制器以以下内容开始:
[ApiController]
[Route("api/[controller]/[action]")]
public class MyFooController : Controller
以下是我的行动:
[HttpPost]
public string MyFooAction(string value)
因此,我呼吁采取另一种简单解决方案的行动:
var param = new NameValueCollection();
param["value"] = "3";
using (var client = new WebClient())
{
var data = client.UploadValues(url, "POST", param);
在调试中,调用获取操作路由,但值始终为null。
我也试过使用[FromBody],但都是一样的
我阅读了3.1中的内容,希望是ControllerBase类中的inherint controller,但我有许多返回Json(obj)的操作,这在ControllerBase类中不存在,但仅在Contreller类中存在:这就是问题所在吗
提前谢谢
var data=client.UploadValues(url,“POST”,param)
调用获取操作路由,但值始终为null
使用WebClient.UploadValues
方法将值发布到服务器,您可以尝试将[FromForm]
属性应用到操作参数,如下所示
[HttpPost]
public string MyFooAction([FromForm]string value)
{
//...
测试结果
此外,您还可以使用WebClient.UploadString
方法通过请求体发布数据来实现相同的需求
using (var client = new WebClient())
{
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
var data = client.UploadString(url, "POST", "3");
//...
}
作用方法
测试结果
var data=client.UploadValues(url,“POST”,param)
调用获取操作路由,但值始终为null
使用WebClient.UploadValues
方法将值发布到服务器,您可以尝试将[FromForm]
属性应用到操作参数,如下所示
[HttpPost]
public string MyFooAction([FromForm]string value)
{
//...
测试结果
此外,您还可以使用WebClient.UploadString
方法通过请求体发布数据来实现相同的需求
using (var client = new WebClient())
{
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
var data = client.UploadString(url, "POST", "3");
//...
}
作用方法
测试结果
Hi@CodeIT,关于这个案例有什么更新吗?你用我分享的解决方案解决问题了吗?嗨,菲,对不起。。。不练习。。。我现在做得好吗?嗨@CodeIT,这个案子有什么新进展吗?你用我分享的解决方案解决问题了吗?嗨,菲,对不起。。。不练习。。。我现在做得好吗?