为了账号安全,请及时绑定邮箱和手机立即绑定

未传递 IActionResult 参数

未传递 IActionResult 参数

C#
POPMUISE 2021-12-25 18:45:19
我正在发布以下请求http://somesite.ngrok.io/nexmo?to=61295543680&from=68889004478&conversation_uuid=CON-btt4eba4-dbc3-4019-a978-ef3b230e923a&uuid=2ddh8172jbc252e02fa0e99445811fdc我的 ASP.NET Core 应用程序中的动作控制器方法是:[HttpPost]public IActionResult Index(string uuid){    string s = uuid;    return View();}return在行上设置断点时,为什么s = null?它应该等于2ddh8172jbc252e02fa0e99445811fdc.更新添加[FromQuery]似乎不起作用。我联系了 API 团队,他们回复我说这是他们发布到我的 url 的信息:"HTTP-METHOD=POST""HTTP-RESP=callback response is ignored""CONVERSATION-ID=CON-81593cc2-cba0-49e7-8283-f08813e1a98e""HTTP-REQ={from=61400104478, to=61290567680, uuid=8a4079c012c1bfa23f6dff8485e27d00, conversation_uuid=CON-81593cc2-cba0-49e7-8283-f08813e1a98e, status=started, direction=inbound, timestamp=2018-08-31T15:05:02.729Z}"这些信息有什么帮助吗?也许我必须反序列化某些东西?我不会这么想,但我不明白为什么我没有检索该uuid值,而且我可以看到请求实际上已将其发送到我的控制器操作中...
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

因为您没有告诉操作期望来自查询字符串的参数


[FromHeader], [FromQuery], [FromRoute], [FromForm]: 使用这些来指定要应用的确切绑定源。


创建一个模型来保存值


public class Model {

    public string uuid { get; set; }


    //...other properties

}

并[FromQuery]根据查询字符串中提供的键值更新用于绑定模型的操作


[HttpPost]

public IActionResult Index([FromQuery]Model model) {

    if(ModelState.IsValid) {

        var uuid = model.uuid;

        string s = uuid;

        return View();

    }

    return BadRequest();

}

理想情况下,对于 POST 请求,您应该将请求 BODY 用于更复杂的类型,因为查询字符串比请求正文更受限制。


查看完整回答
反对 回复 2021-12-25
  • 1 回答
  • 0 关注
  • 242 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号