HttpPost [FromBody]参数始终为null

时间:2016-01-06 19:49:11

标签: java android asp.net asp.net-web-api fiddler

Asp.net webApi 2 [FromBody]参数始终为null。 (HttpGet方法工作正常。) 如果我尝试传递json然后接收([FromBody] string param)然后我在参数中得到null。 如果我尝试在自定义类对象中获取它,则对象不为null但所有属性都为null。 我确实尝试从android和fiddler 调用post方法但是faild来识别问题。 WebApi withfiddler example我已经下载了这个源代码并使用fidler尝试了,但是这段代码也不起作用。 请帮助问题在哪里我的视觉工作室出了问题,或者我的代码出错了。提前完成。

这是api方法

[Route("Signup")]
    [HttpPost]
    public string SignUp([FromBody] User user)
    {
        user.ip = ClientIp;
        if (UserManager.SaveUser(user))
        {
            return "succeed";
        }
        else
        {
            return "failed";
        }

    }

如果方法接收上述代码中的参数,则对象属性为null但对象不为空。

public string SignUp([FromBody] string param)

如果它收到字符串,那么它总是找到null。

这里是android调用

DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpEntity httpEntity = null;
        HttpResponse httpResponse = null;
        StringEntity se=new StringEntity(params.toString());
        // Checking http request method type
        if (method == Constants.MethodInfo.POST) {
            HttpPost httpPost = new HttpPost(url);
            // adding post para[![try to post using Fiddler][2]][2]ms
            if (se != null) {

                httpPost.setEntity(new StringEntity(params.toString(),HTTP.UTF_8));
                httpPost.setHeader("Content-type", "application/json");
            }

            httpResponse = httpClient.execute(httpPost);

0 个答案:

没有答案