0
当我张贴此请求http://localhost:61679/api/Login:传递字符串参数网页API Post方法时415
Headers => Content-Type: text/plain
Body => grant_type=password&username=doug&password=12345
我得到415 Unsupported Media Type
:
HTTP/1.1 415 Unsupported Media Type
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcZGV2ZWxvcG1lbnRcYml0Y29pblxwYXltZW50cy1zZXJ2aWNlLW5vLWNoZWNrc3VtLW5vLXVzZXJcUGF5bWVudHNTZXJ2aWNlXGFwaVxBdXRoZW50aWNhdGU=?=
X-Powered-By: ASP.NET
Date: Mon, 28 Dec 2015 16:58:36 GMT
Content-Length: 900
{"Message":"The request entity's media type 'text/plain' is not supported for this resource.","ExceptionMessage":"No MediaTypeFormatter is available to read an object of type 'String' from content with media type 'text/plain'.","ExceptionType":"System.Net.Http.UnsupportedMediaTypeException","StackTrace":" at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)"}
控制器:
// POST api/Login
public HttpResponseMessage Post([FromBody]string loginDetails)
{
// process loginDetails here
}
只是好奇 - 为什么你会在你的控制器接受一个字符串,但它看起来像你传递一个compl前对象? –
身体中的字符串应引用。 Content-Type应该是application/json。 http://stackoverflow.com/a/41114909/4854931 – Alex78191