![](/img/trans.png)
[英]Getting HttpCode 415 error of Unsupported media type from ASP.NET Core API endpoint
[英]Asp.net core api getting “415 Unsupported Media Type” error from Javascript, not Postman
我已經創建了一個 Asp.Net Core Web 應用程序,並希望實現一個 Web API。
我已經實現了一個功能性的 HttpGet,現在正在嘗試實現一個 HttpPost 功能:
[HttpPost]
public object Post([FromBody] object data)
{
return null;
}
我已經使用 Postman 進行了測試,效果很好。 我在主體中使用 json 對象對其進行了設置(設置為原始和 JSON (application/json))。
我得到了預期的回應。
但是當我嘗試使用 Postman 建議的代碼(或我自己的嘗試)從 javascript 調用它時:
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:51139/api/data",
"method": "POST",
"headers": {
"content-type": "application/json",
"cache-control": "no-cache",
"postman-token": "999ee8ee-4e92-acb8-b7cf-144ffa49e5ee"
},
"processData": false,
"data": "{\"Message\":\"This is body data\"}"
}
$.ajax(settings).done(function (response) {
console.log(response);
});
我收到“415 不支持的媒體類型”錯誤。
有人看到我哪里出錯了嗎?
我遇到了同樣的問題並嘗試了一百萬種不同的組合( $.ajax
、 $.post
等),但最終做的是accepts: "application/json"
:
{
type: "post",
accepts: "application/json",
url: "http://localhost:51139/api/data",
contentType : "application/json",
data: "{\"Message\":\"This is body data\"}"
}
你可以試試這樣的
[HttpPost]
public object Post()
{
Object o = Request.Form.First(o => o.Key == "data").Value
return null;
}
然后,如果您可以創建該對象的類,則可以使用 JsonConvert 將該對象反序列化為您創建的類對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.