json オブジェクトを webapi コントローラー (POST) に渡し、それをマップするクラスを持たずに、任意のコンテンツとして処理するにはどうすればよいですか?
したがって、クライアントから次のように渡すと:
createRecord: function (model, data, callback, callbackParams) {
var request = jQuery.ajax({
type: "POST", // default = GET,
url: '/api/' + model + '/',
data: data,
contentType: 'application/json',
success: function (msg) {
$('#results').text(msg);
if (callback) // only fire a callback if it has been specified
callback(msg, callbackParams);
},
error: function (jqXHR, textStatus) {
alert('Request failed: ' + textStatus);
}
});
}
そしてデータは次のようなものです:
{ "_id" : ObjectId("5069f825cd4c1d590cddf206"), "firstName" : "John", "lastName" : "Smith", "city" : "Vancouver", "country" : "Canada" }
私のコントローラはそれを解析できますか? 次回は、データがその署名と一致しない可能性があります (例:
{ "_id" : ObjectId("5069f825cd4c1d56677xz6"), "company" : "Acme" }
私のコントローラーで、私は試しました:
public HttpResponseMessage Post([FromBody]JObject value)
と:
public HttpResponseMessage Post([FromBody]string value)
そして(これは実際にはmongo dbで動作するためです):
public HttpResponseMessage Post([FromBody]BsonDocument value)
しかし、オブジェクトマッパーは文字列以外のものにマップしたいようです...