2017-08-23 10 views
0

プロジェクトを.net core 1.1から2.0にアップグレードしました。 Jsonのテキストです。彼らは見える.netコア1.1から2.0へのアップグレードが変更されました[Produces( "application/json")]の動作

[HttpGet] 
[Produces("application/json")] 
public IActionResult Get(string name) 
{ 
    var jsonStr = service.GetJsonStringFromDB(); 

    return Ok(jsonStr); 
} 

私たちはテキストとしてDbに格納されているJsonオブジェクトを持っています。古いプロジェクトでは、角度サービスはこれをJsonデータとみなし、オブジェクトを戻します。新しいプロジェクトではAngularサービスは文字列としてそれを見て文字列を返します。何もクライアント側を変更していません。

答えて

2

これは実際には正しい動作です。

Okはなる、(実際には、ObjectResultから継承するすべての結果が登録された応答がクライアントの要求などを入力しているシリアライザに応じて、構成された型に、それをデシリアライズしようとします)OkObjectResult周りのヘルパーメソッドですの入力をシリアル化します。

生の文字列を返す場合は、代わりにContentを使用してください。

[HttpGet] 
[Produces("application/json")] 
public IActionResult Get(string name) 
{ 
    var jsonStr = service.GetJsonStringFromDB(); 

    return Content(jsonStr); 
    // Alternatively, pass the type here 
    //return Content(jsonStr, "application/json"); 
} 
関連する問題