【发布时间】:2020-11-01 06:04:34
【问题描述】:
我将 webapi 解决方案从 2.1 升级到 3.1。
我的 Startup.cs 文件包含:
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);
在调试中,调用获取操作路由,但 value=null 始终。 我也试过 [FromBody],但它是一样的。
我在 3.1 中阅读会更喜欢从 ControllerBase 类继承控制器,但我有许多返回 Json(obj) 的操作,并且在 ControllerBase 类中不存在,而仅在 Contreller 类中存在:这是问题吗?
提前致谢。
【问题讨论】:
-
嗨@CodeIT,关于这个案例的任何更新?您使用我分享的解决方案解决了问题吗?
-
嗨飞,对不起……不练习……我现在做得好吗?
标签: asp.net-core .net-core asp.net-core-webapi