http インターフェイスの呼び出しは成功したが 404 が返されるという問題を記録します。
この問題は次のように現れます。
1. フロントエンドが http インターフェイスを呼び出し、インターフェイスは 404 を返します。
2. デバッグ確認により、インターフェイス呼び出しは成功します。
3. インターフェースは JSON データを返します
ここでは問題を説明するためにケースが使用されています
1. バックエンドインターフェースコード
@Controller
@RequestMapping("test")
public class TestController {
@RequestMapping("testReturnStr")
public String testReturnStr(HttpServletRequest request, HttpServletResponse response) {
return "盖伦与卡特琳娜";
}
}
2. フロントエンド呼び出しによって返されるコードは次のとおりです。404
ただし、実際には呼び出しは正常であるため、ここではスクリーンショットを撮りません。
理由: バックエンド インターフェイスは JSON データを返しますが、コントローラーは関連する宣言を追加しません。
解決
方法 1: コントローラーを次@Controller
のように変更します。@RestController
//使用@RestController
@RestController
@RequestMapping("test")
public class TestController {
@RequestMapping("testReturnStr")
public String testReturnStr(HttpServletRequest request, HttpServletResponse response) {
return "盖伦与卡特琳娜";
}
}
方法 2:コントローラー メソッドに@ResponseBody
アノテーションを追加する
@Controller
@RequestMapping("test")
public class TestController {
//添加@ResponseBody
@ResponseBody
@RequestMapping("testReturnStr")
public String testReturnStr(HttpServletRequest request, HttpServletResponse response) {
return "盖伦与卡特琳娜";
}
}