2016-06-10 45 views
0

我必須把json列表作爲web api的參數。如何作爲參數json列表來休息web api服務

http://localhost:8082/api/Values/EmptyCardList?number=[ 
{ 
    num: "1" 
}, 
{ 
    num: "2" 
}, 
{ 
    num: "3" 
}, 
{ 
    num: "4" 
}, 
{ 
    num: "5" 
}, 
{ 
    num: "6" 
}, 
{ 
    num: "7" 
} 
] 

是否有可能?它會導致性能問題嗎?還有參數需要多少字符或列表?

+0

是您的要求HttpPost? – Pushpendra

+0

是的。因爲我想在我的服務中發送參數json數據集。我的服務接受了這個請求並在我的數據庫中插入了所有數據。你可以認爲是批量插入。是否有可能?或者你有什麼建議? –

+0

@SerdarToprak參考此問題http://stackoverflow.com/questions/1619302/restful-urls-with-data-in-query-string-or-request-body如果您使用查詢字符串中的數據Restful URLs –

回答

4

如果你正在你的httpPost請求,並通過JSON對象在你的請求主體

設置

contentType:"application/json" 

,並在數據使用JSON.stringify(yourJson);

事情是這樣的:

$(function() { 
    var youJsondata = {num :"2",num:"3"}; 
    $.ajax({ 
     type: "POST", 
     data :JSON.stringify(youJsondata), 
     url: "http://localhost:8082/api/Values/emptycardlist", 
     contentType: "application/json" 
    }); 
}); 

你的api方法應該看起來像這樣:

[HttpPost] 
Route("api/Values/emptycardlist") 
public HttpResponseMessage EmptyCardList([FromBody] JObject jobject){ 
    dynamic numList = jobject; 
} 

Reference

0

如果你正在你的httpPost請求,並通過JSON對象在你的請求主體

設置

contentType:"application/json" 

,並在數據使用JSON.stringify(yourJson);

東西像這樣:

$(function() { 
var youJsondata = {num :"2",num:"3"}; 
$.ajax({ 
    type: "POST", 
    data: JSON.stringify(youJsondata), 
    url: "http://localhost:8082/api/Values/emptycardlist", 
    contentType: "application/json" 
}); 

您API方法應該是這個樣子:

[HttpPost] 
Route("api/Values/emptycardlist") 
public HttpResponseMessage EmptyCardList([FromBody] dynamic dynObject){ 
    if(dynObject.Type == "Array") { 
     // Handle list 
    } 

    // Handle response 
}