Параметры формата тела для действия OpenRasta POST - PullRequest
0 голосов
/ 08 марта 2011

Учитывая следующий код и конфигурацию для 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; } 
}

Каков правильный формат для тела запроса, если я хочу опубликовать метод PostFoo на моем FooHandler.Это может быть json (то есть тот же формат, который я получу от GetFoo), или это должны быть пары имя-значение (например, ID = 1 & Name = FooManChu)?

Нужно ли устанавливать какие-либо дополнительные заголовки в запросе post?такой как тип контента?

Я пытаюсь заставить это работать, но я, кажется, получаю 415 ошибок, когда пытаюсь это сделать?

1 Ответ

3 голосов
/ 09 марта 2011

Если вы отправите приложение Content-Type / json, это будет работать. Если вы хотите использовать пары ключ-значение, используя multipart / form-data или application / x-www-form-urlencoded, то это тоже будет работать.

Если вы не укажете Content-Type, по умолчанию используется application / octet-stream, для которого у вас есть только отображение на Stream (и byte []).

...