Could not resolve view with name 'xxx' in servlet with name 'dispatcherServlet'",


1、質問
本人がspring bootプロジェクトを起動した後、インタフェースにアクセスし、エラーメッセージは以下の通りです.
{
    "timestamp": 1537234637805,
    "status": 500,
    "error": "Internal Server Error",
    "exception": "javax.servlet.ServletException",
    "message": "Could not resolve view with name 'api/company/info' in servlet with name 'dispatcherServlet'",
    "path": "/api/company/info"
}

2、原因
戻り情報がjsonオブジェクトであるため,本人はcontrollerメソッドが存在するエントリクラスに,@Controllerという注釈を追加する.
@Controllerはjsonコンテンツを返すのに適していません
3、解決方法
方法1:他の方法の使用に影響しない場合、@Controller注記を@RestControllerに変更する
メソッド2:要求が必要なjsonオブジェクトを返すメソッドに@ResponseBody注記を追加する
本人のプロジェクトでこのメソッドが存在するクラスの他のメソッドは指定ページに戻る場合があるため,@RestControllerを@RestControllerで直接置き換えることはできないため,メソッド2を用いて問題を解決した.
 
@Controllerと@RestControllerの違いは以下の通りです.
@RestController is a stereotype annotation that combines @ResponseBody and @Controller. @RestController注記は@ResponseBody+@Controllerが合わさった役割に相当します. 
1)@RestController注釈Controllerを使用するだけでは、Controllerのメソッドはjspページに戻ることができず、構成されたビュー解析器InternalResourceViewResolverは機能せず、戻る内容はReturnの内容である.
例えば、successに着くはずだった.jspページの場合、successが表示されます.
2)指定したページに戻る必要がある場合は、@Controllerとビュー解析器InternalResourceViewResolverを併用する必要があります.3)JSON,XMLまたはカスタムメディアタイプのコンテンツをページに返す必要がある場合は,対応するメソッドに@ResponseBody注記を付ける必要がある.