我建立一個簡單的API來檢索db.It賬戶餘額工作正常,如果我帕拉姆追加到URI這樣如何把asp.net webapi參數放在body(post)而不是URI中?
http://localhost:8080/v1/api/accounts/balance?accountBalance=DS-00001
但是當我嘗試使用從身體得到它[ FromBody]在我的行動
[HttpPost]
[ActionName("balance")]
public string GetBalance([FromBody]string accountNumber)
{
var data = BusinessLayer.Api.AccountHolderApi.GetBalance(accountNumber);
return data;
}
我得到了郵遞員這個錯誤
「消息」:「請求實體的媒體類型‘的multipart/form-data的’不支持此資源」, 「ExceptionMessage」:「沒有MediaTypeFormatter可用於從媒體類型爲'multipart/form-data'的內容讀取'String'類型的對象。」, 「ExceptionType」:「System.Net.Http.UnsupportedMediaTypeException」, 「堆棧跟蹤」: 「在System.Net.Http.HttpContentExtensions.ReadAsAsync [T](HttpContent內容,類型類型,IEnumerable的
1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable
1格式化器,IFormatterLogger formatterLogger,的CancellationToken的CancellationToken)」
我確實發現隱約類似這問題在這裏,但無法通過。查看https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api,但還是如此。像它在這裏說的原始類型使用[FromBody]屬性,但仍然。
我的路線
config.Routes.MapHttpRoute("MobileBankingApi", "v1/api/{controller}/{action}");
在郵差車身> form-data的我進入
重點= accountBalance值= DS-00001
我想json的響應,
{「account_number」:「CS-0000011」,「balace」:7817.7}
我可能對我的郵遞員輸入有誤,或者我沒有爲此做R & D,但幫助新手仍然是你的專家的祝福。
謝謝。
謝謝你sir.worked像魅力。我得到了平衡的JSON響應爲「6000」。我希望響應爲{「account_number」:「DS-000001」,「balace」:6000 }。如何得到那個?對不起,如果那太蹩腳回答或任何鏈接將幫助。謝謝你先生。:) – OLDMONK
@OLDMONK更新我的答案與解決方案,您的新增要求 –
謝謝你太多先生。你是一個祝福。再一次感謝你。:) – OLDMONK