小编lea*_*ner的帖子

curl将POST请求上的空数据发送到Web api

我想通过 curl windows 64 位将数据发布到 asp.net web api(using C#) 上。但是,每次我这样做时,控制都会传递给 HttpPost 方法,但是接受参数的值仍然为空。这在浏览器上使用 url 时无需 curl 即可工作..所以数据库没有问题。

我的卷曲语法是:

curl -X POST 'Content-Type:application/json' --data '[{"Id":"44","Name":"Abc","Category":"xyz","Price":"98"}]' "http://example.com/Post/Products"
Run Code Online (Sandbox Code Playgroud)

我的 web api 的服务器端代码是

[ActionName("Default Action")]
[Route("Post/Products")]
[AcceptVerbs("Get"), HttpPost]
public List<ProductDetails> PostProduct([FromBody] List<ProductDetails>  pro)
{
    // IEnumerable<string> headerValues = Request.Headers.GetValues("MyCustomID");
    // var ide = headerValues.FirstOrDefault();
    // int id=Convert.ToInt16(pro.Id);
    // int Pric = Convert.ToInt16(Pricc);
    con = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\mydatabase.mdf;Integrated Security=True");
    SqlCommand ss = new SqlCommand("Insert into [Table] values ("+pro[0].Id+",'"+pro[0].Name+"','"+pro[0].Category+"',"+pro[0].Price+")", con);
    con.Open();
    SqlDataReader dr2 = ss.ExecuteReader();
    con.Close();
    con.Open(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

5
推荐指数
1
解决办法
2219
查看次数

标签 统计

asp.net-web-api ×1

c# ×1