【问题标题】:Body format options for OpenRasta POST actionOpenRasta POST 操作的正文格式选项
【发布时间】:2011-03-08 20:51:26
【问题描述】:

鉴于以下 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 错误?

【问题讨论】:

  • 啊。我似乎已经回答了我自己的问题。是的,它可以是 json,是的,显然我必须添加 application/json 的 Content-Type 标头。

标签: post openrasta


【解决方案1】:

如果您发送应用程序/json 的 Content-Type,则可以。如果您想使用键值对,使用 multipart/form-data 或 application/x-www-form-urlencoded 也可以。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多