Web API Post参数始终为Null

时间:2012-10-02 12:45:32

标签: asp.net-ajax asp.net-web-api

有没有人找到适当的解决方案? 我只是非常希望与WebAPI一起尝试(在使用KO和HTML5在php / restler中成功实现rest api之后)。得到的就是魅力。无论什么总是我的变量为null,因此在帖子中停留了20多个小时。我确实有DTO和存储库实现,这是我的框架的一部分。 我尝试使用FromBody提示和我搜索中的所有可用内容。 我正在使用CRest和Fiddler进行测试。 我甚至可以获得原始的request.content,然后自己处理json loading等。 这一点我只是感到沮丧,并考虑回到4.0并使用wcf再次生成ResT。 任何帮助都会非常感激......

DTO:
public class TestEntity
{
    public TestEntity() { } 
    public int UserId { get; set; }
    public string UserName { get; set; }
}

控制器: public class testController:ApiController

{
    // POST api/test
    public TestEntity PostTest([FromBody] TestEntity t)
    {
        var x = new TestEntity();
        if (!this.ModelState.IsValid)
        {

            return x;
        }
        else
        {
            return x;
        }
    }

我通过CREST调用....

1 个答案:

答案 0 :(得分:0)

当您使用xml类型调用api时我的问题就出现了,

默认情况下使用Json Serializer的Web API因此在将内容类型更改为JSON后,您的应用程序正在运行。

请参阅以下代码并将其添加到WebApiConfig.cs中,它用于处理XML类型请求。

config.Formatters.XmlFormatter.UseXmlSerializer = true;

再次致电您的服务。它将解决这个问题。