7

Web API を使用してログイン サービスを作成しています。私がチェックしfiddlerているときは正常に動作していますが、チェックしているときはpostmanエラーchromeが表示されます:

{    "Message": "An error has occurred.",
    "ExceptionMessage": "No MediaTypeFormatter is available to read an object of type 'user' from content with media type 'multipart/form-data'.",
    "ExceptionType": "System.InvalidOperationException",
    "StackTrace": "   
    at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
    at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
    at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
    at System.Web.Http.ModelBinding.FormatterParameterBinding.ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)\r\n
    at System.Web.Http.Controllers.HttpActionBinding.<>c__DisplayClass1.<ExecuteBindingAsync>b__0(HttpParameterBinding parameterBinder)\r\n
    at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()\r\n
    at System.Threading.Tasks.TaskHelpers.IterateImpl(IEnumerator`1 enumerator, CancellationToken cancellationToken)" 
}

public class user
{
    //public user(string userId, string password)
    //{
    //    UserId = userId;
    //    Password = password;
    //}

    public string UserId { get; set; }
    public string Password { get; set; }
}

postmanこのサービスがモバイル アプリケーションでアクセスできるかどうかを確認しています。また、Macシステムでこれを確認します。

4

2 に答える 2

15

ヘッダーボタンをクリックして、ヘッダーと値の両方を入力します

Content-Type: application/json

フィドルとポストマンの両方が同じコンテンツタイプを使用していないか、以下のリンクを確認してください POSTでjsonをWeb APIサービスに送信する際のエラー

于 2014-06-05T10:41:22.470 に答える
0

私は同じ問題に遭遇しましたが、後で ajax POST を使用して WebAPI を呼び出していたことがわかり、代わりに GET に変更して機能しました。しかし、エラーはほとんど見当違いでした。そのため、私は常にメディアの種類に焦点を当てていました。

リクエストエンティティのメディアタイプ「テキスト/プレーン」は、このリソースではサポートされていません.",

$http({             
method: 'POST',

に変更します

$http({             
method: '**GET**',
于 2015-12-20T19:00:43.470 に答える