代码之家  ›  专栏  ›  技术社区  ›  theITvideos

获取状态码400,对HttpClient使用POST方法时请求错误[duplicate]

  •  0
  • theITvideos  · 技术社区  · 6 年前

    我有这个 LoansController 对于web api

    [Route("api/[controller]")]
    [ApiController]
    public class LoansController : ControllerBase
    {
        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            return new string[] { "value1", "value2" };
        }
    
        // POST api/loans
        [HttpPost]
        public void Post([FromBody] string value)
        {
    
        }
    }
    

    在PowerShell我可以打电话

    Invoke-WebRequest http://localhost:1113/api/loans -Body $postParams -Method Get
    

    而且效果很好(我明白了) value1 和 value2 )

    但当我尝试

    $postParams = "{'value':'123'}"
    Invoke-WebRequest http://localhost:1113/api/loans -Body $postParams -Method Post # -ContentType 'Application/json'
    

    我只是一直在

    调用WebRequest:远程服务器返回错误:(400)请求错误。

    我做错了什么?

    我试着加上 -ContentType 'Application/json' 但这没什么区别

    我错过了什么?

    我也试过了 Invoke-RestMethod 但同样的结果。。

    接下来我移除了 [FromBody] 从 value 但是 价值 现在以 null

    0 回复  |  直到 7 年前