给出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错误?
答案 0 :(得分:3)
如果你发送一个Content-Type of application / json,那就行了。如果你想使用键值对,使用multipart / form-data或application / x-www-form-urlencoded,那么它也会起作用。
如果你没有指定Content-Type,它默认为application / octet-stream,你只有Stream(和byte [])的映射。