2016-08-16 4 views
0

Могу ли я читать более одного параметра из тела сообщения?Чтение нескольких параметров из тела сообщения

Пример:

public HttpResponseMessage Post([FromBody] int id, [FromBody] string name) { ... } 
+0

Нет, вы привязываете весь текст HTTP-сообщения к параметру. Однако один параметр может быть сложным объектом! –

ответ

0

No.

Так что если у вас есть несколько вещей, которые вы хотите отправить в теле, посылая их в формате JSON, то в вашем браузере пост вы можете оставить что-то вроде:

{ 
    id: 1, 
    name: "Callum" 
} 

В вашем C#, вы создаете объект, представляющий эти данные:

public class Person 
{ 
    public int Id {get;set;} 
    public string Name {get;set;} 
} 

Затем в действии:

public HttpResponseMessage Post([FromBody] Person person) { ... } 

Модель связующий будет заботиться о делать преобразование из JSON в C#


Однако вы можете прочитать как параметры запроса и тело в одном действии , используя [FromUrl] или [FromBody] в зависимости от того, какую версию ASP.NET вы используете

Посмотрите на это http://www.asp.net/mvc/overview/controllers-and-routing и вообще aro und http://www.asp.net/mvc

Смежные вопросы