Post OpenRasta后期操作的正文格式选项

Post OpenRasta后期操作的正文格式选项,post,openrasta,Post,Openrasta,给定OpenRasta的以下代码和配置: ResourceSpace.Has.ResourcesOfType<Foo>() .AtUri("/foo/{fooID}") .And.AtUri("/foo") .HandledBy<FooHandler>() .AsJsonDataContract(); public OperationResult GetFoo(int fooID) { } public OperationResult

给定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; } 
}
ResourceSpace.Has.ResourcesOfType()
.AtUri(“/foo/{fooID}”)
.和.AtUri(“/foo”)
.HandledBy()
.AsJsonDataContract();
公共操作结果GetFoo(int fooID){}
公共操作结果PostFoo(Foo-Foo){}
公开课Foo
{
公共int ID{get;set;}
公共字符串名称{get;set;}
}
如果我想发布到我的FooHandler上的PostFoo方法,那么请求主体的正确格式是什么。它可以是json(即与我从GetFoo接收到的格式相同)还是名称-值对(例如ID=1&name=foomanism)

我是否需要在post请求中设置任何其他标题,例如内容类型


我正在尝试让它工作,但当我尝试这样做时,我似乎会收到415个错误?

如果您发送内容类型为application/json,那么就可以了。如果您想使用键值对,使用multipart/form data或application/x-www-form-urlencoded,那么也可以


如果您不指定内容类型,它默认为application/octet-stream,您只有一个到stream(和byte[])的映射。

如果您发送一个内容类型为application/json,就可以了。如果您想使用键值对,使用multipart/form data或application/x-www-form-urlencoded,那么也可以


如果您不指定内容类型,它默认为应用程序/八位字节流,您只有一个到流(和字节[])的映射。

Ah。我似乎已经回答了我自己的问题。是的,它可以是json,显然我必须添加一个内容类型头application/json.Ah。我似乎已经回答了我自己的问题。是的,可以是json,显然我必须添加一个内容类型头application/json。