[英]ASP.Net Core 3.1 - Post parameter is always NULL in Web API
我正在尝试在 ASP.Net Core 3.1 中创建一个基本的 API 服务。
在进入问题描述之前,我已经把这些问题都看完了——
但是,没有解决我的问题。
我想要做的是创建一个基本的 API,它将从 API 中获取一个string
,然后使用该string
并根据该字符串给出响应。 我在Controller
所做的就是这样 -
[Route("/")]
[ApiController]
[EnableCors]
public class XmlValidatorController : ControllerBase
{
........................
........................
[HttpPost("verify_string")]
public ActionResult<ICollection<Certificate>> VerifyXmlString([FromQuery(Name = "xml")] string xml)
//string xml => Giving Null
//[FromQuery(Name = "xml")] string xml => Giving Null
//[FromBody] string xml => Unsupported Media Type - 415
//[FromBody] dynamic xml => Unsupported Media Type - 415
//HttpRequestMessage msg => Unsupported Media Type - 415
{
...............
...............
}
如果我从POST Man
创建一个POST
请求,我是这样创建的-
和
在我的控制器中,如果我放置一个调试指针,我会得到这个-
所以,我总是在POST
请求中得到null
。
如果我在函数参数中使用其他人,则会收到此错误-
任何人都可以帮我从控制器操作参数/函数参数 (XML) 中找到参数字符串。
我还没有尝试为请求创建模型,因为我认为它会使代码变得更复杂一些,并且因为我只需要一个字符串而变得矫枉过正。
我的Startup.cs
文件没有特殊配置,是代码创建时提供的默认代码。 该文件的代码可以在这里找到。 控制器的代码可以在这里找到。
完整的代码库可以在这个 Github Repo 中找到。
提前感谢您的帮助。
为了填充 [FromQuery] 参数,您必须从 URL 提供它,在您的情况下,它可能类似于:
[POST] https://localhost:44377/verify_string?xml=asd
您在 Postman 中指定Content-Type: application/json
,但您的负载不是 JSON。 因此出现“不支持的媒体类型”错误。
将Content-Type
更改为text/xml
或application/xml
试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.