0

给定 OpenRasta 的以下代码和配置:

ResourceSpace.Has.ResourcesOfType<Foo>()
    .AtUri("/foo/{fooID}")
    .And.AtUri("/foo")
    .HandledBy<FooHandler>()
    .AsJsonDataContract();

public OperationResult GetFoo(int fooID) { }

public OperationResult PostFoo(Foo foo) { }

public class Foo
{
    public int ID { get; set; } 
    public string Name { get; set; } 
}

如果我想发布到我的 FooHandler 上的 PostFoo 方法,请求正文的正确格式是什么。它可以是 json(即我会从 GetFoo 收到的相同格式)还是应该是名称-值对(例如 ID=1&Name=FooManChu)?

我是否需要在发布请求中设置任何其他标头,例如内容类型?

我正在尝试使其正常工作,但是当我尝试执行此操作时似乎出现 415 错误?

4

1 回答 1

3

如果您发送 application/json 的 Content-Type,那将起作用。如果您想使用键值对,使用 multipart/form-data 或 application/x-www-form-urlencoded 也可以。

如果您不指定 Content-Type,则默认为 application/octet-stream,您只有一个到 Stream(和 byte[])的映射。

于 2011-03-09T02:03:15.193 回答