2017-12-14 20 views
0

Core 2.0 Web APIを実行しています。郵便配達員を経由して私のコントローラに投稿すると、すべてがローカルでうまく動作します。しかし、私は得る:MediaTypeFormatterは、メディアタイプ 'text/html'のコンテンツからタイプのオブジェクトを読み取ることができません。

ませんMediaTypeFormatterが

コントローラ本番サーバーにデプロイすると、メディアタイプ「text/htmlの」

との内容からタイプ「のメッセージ」 のオブジェクトを読み取ることが可能です:

[HttpPost] 
    public void Post([FromQuery] Message message) 
    { 
     _service.UserRequest(message); 
    } 

メッセージ:

public class Message : IEntity 
{ 
    public string To { get; set; } = string.Empty; 
    public string From { get; set; } = string.Empty; 
    public string Body { get; set; } = string.Empty; 
} 

原因がわかりません。 IISの設定でMIMEタイプですか?

答えて

0

これは、(新たに追加されたフォーマッタを)それを修正:

 var obj = await response.Content.ReadAsAsync<T>(
      new List<MediaTypeFormatter> 
      { 
       new XmlMediaTypeFormatter(), 
       new JsonMediaTypeFormatter() 
      }); 
0

を私はコードを締めることを目標に、前の回答のこの変形試してみました:

var obj = await response.Content.ReadAsAsync<T>(new [] { new JsonMediaTypeFormatter() }); 

はしかし、それはまだのために訴え応答は依然として正しいコンテンツヘッダーを持っていなかったため

だから、私は私の作品のヘッダーを変更するには、このを試してみましたが、これは私はまだを通じて考えていないことを予期しない副作用を持っている場合、私は本当に知らない:

if(response.Content?.Headers?.ContentType != null) 
{ 
    response.Content.Headers.ContentType.MediaType = "application/json"; 
} 
関連する問題