OpenRasta POST操作的正文格式选项

时间:2011-03-08 20:51:27

标签: post openrasta

给出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&amp; Name = FooManChu)?

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

我试图让这个工作,但是当我尝试这样做时,我似乎得到415错误?

1 个答案:

答案 0 :(得分:3)

如果你发送一个Content-Type of application / json,那就行了。如果你想使用键值对,使用multipart / form-data或application / x-www-form-urlencoded,那么它也会起作用。

如果你没有指定Content-Type,它默认为application / octet-stream,你只有Stream(和byte [])的映射。