3

有没有人找到合适的解决方案?我只是抱着很大的希望尝试了 WebAPI(在使用 KO 和 HTML5 在 php/restler 中成功实现了 rest api 之后)。获取就像魅力一样工作。在过去 20 多个小时内被困在岗位上,因为无论我的变量始终为空。我确实有 DTO 和存储库实现,这是我框架的一部分。我尝试了 FromBody 提示以及搜索中几乎所有可用的内容。我正在使用 Crest 和 Fiddler 对此进行测试。我什至可以获取原始 request.content,然后自己处理 json 加载等。这一点我只是感到沮丧并考虑回到 4.0 并使用 wcf 再次生成 ResT。任何帮助将非常感激 ...

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

控制器:公共类 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 调用....

4

1 回答 1

0

当你使用 xml 类型调用 api 我认为你的问题来了,

Web API 默认使用 Json Serializer,因此您的应用程序在将内容类型更改为 JSON 后可以正常工作。

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

config.Formatters.XmlFormatter.UseXmlSerializer = true;

并再次致电您的服务。它将解决此问题。

于 2013-10-31T09:53:58.627 回答