OpenRasta POST 操作的正文格式选项

发布于 2024-10-21 07:38:01 字数 603 浏览 3 评论 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 错误?

Given the following code and config for 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; } 
}

What is the correct format for the body of the request if I want to post to the PostFoo method on my FooHandler. Can it be json (i.e. the same format I would recieve from GetFoo) or should it be name-value pairs (e.g. ID=1&Name=FooManChu) ?

Do I need to set any additional headers in the post request such as content type ?

I am trying to get this working but I seem to be getting 415 errors when I try to do this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

热血少△年 2024-10-28 07:38:01

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

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

If you send a Content-Type of application/json, that'll work. If you want to use key value pairs, using either multipart/form-data or application/x-www-form-urlencoded then that'll work too.

If you don't specify Content-Type, it defaults to application/octet-stream, for which you only have a mapping to Stream (and byte[]).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文