2014-12-11 2 views
0

Я не разработчик VB, но пытаюсь помочь коллеге.Как принять JSON в Web API 2.0 и вернуть его?

Попытка получить простой пример использования Web API 2.0 и VB для принятия JSON POST и возврата его, отображаемого как пользовательский объект.

Включенный шаблон в VS 2013 включает подпрограмму POST, но не возвращает. Моя попытка не создает значение при отправке объекта JSON через клиент отдыха (почтальон), а затем, конечно, возвращает null. Настройка заголовка с помощью Accept/JSON и RAW JSON HTTP POST. Ниже приводится изменение, внесенное мной в включенный пример контроллера, и я добавил класс. Я понимаю, что веб-API должен иметь возможность сопоставлять опубликованный объект JSON с пользовательским классом и обрабатывать всю сериализацию. Я, очевидно, что-то пропустил.

Public Function PostValue(<FromBody()> ByVal value As Value) 
    Return value 
    End Function 

Примечание: Значение простой класс с 2-х открытых полей

Public Class Value 

Public firstName As String 
Public lastName As String 

End Class 

ответ

0

Всякий раз, когда вы размещаете объект JSON к Web API, контроллер автоматически отображает ключи со свойствами модели и на успех, когда вы получить объект JSON, то он будет рассматриваться как KeyValue паров с ключами, как ваше имя модели и значением свойства является Thier значения они содержали как

Javascript:

var data= { 
firstName: $("#Name").val(), 
lastName: $("#lName").val() 
}; 

//Convert javascript object to JSON object 
var DTO = JSON.stringify(data); 
$.ajax({ 
url: 'api/product', //calling Web API controller product 
cache: false, 
type: 'POST', 
contentType: 'application/json; charset=utf-8', 
data: DTO, 
dataType: "json", 
success: function (returnedData) { 
$.each(object, function (key, val) { 
    // do anything with your key val pair}); 
} 
}); 

контроллер: В контроллере вы увидите, что на посте в _mode л заполняется данными, отправленными с помощью объекта JSON: то есть ПгвЬЫате и LastName свойство наполняется

Public function PostData(_model as Value) 
     Return Json(_model) 
End Function 
+0

При использовании (_model) I JSon получило исключение, чтобы проверить круглую ссылку. Если бы я только что вернул _модель, он, похоже, правильно ответил. –

+0

Итак, вы решили свою проблему? @jim hankins – Tushar

+0

Да разрешено с этим оговоркой, Возвращаемый объект против Json (объект). Спасибо. –

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