Весна говорит вам, что есть неоднозначное отображение. Поскольку и com.example.demo.controller.ResourceController
, и org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController
имеют одинаковое отображение запроса /error
.
Таким образом, вы не можете сохранить /error
в классе ResourceController.
Либо вы добавляете базовый путь сопоставления запросов или путь сопоставления запросов на изменение для конкретного API, который вызывает неоднозначную ситуацию.
Пример:
1-й способ: добавление базового пути сопоставления на контроллере, который устраняет неоднозначную ситуацию.
@RestController
@RequestMapping("/resource")
public class ResourceController {
@RequestMapping("/home")
String home() {
return "Hello, Welcome!";
}
@RequestMapping("/error")
String error() {
return "Error occurred!";
}
}
Примечание. В этом случае все API-интерфейсы будут иметь пути, начинающиеся с: <your url>/resource/<method request mapping path>
или
2-й способ: изменить путь отображения запроса на конкретный API, вызывающий неоднозначную ситуацию.
Например:
@RestController
public class ResourceController {
@RequestMapping("/home")
String home() {
return "Hello, Welcome!";
}
@RequestMapping("/resource/error")
String error() {
return "Error occurred!";
}
}
Примечание. В этом случае необходимо использовать <your url>/resource/error
для вызова API ошибки.
По-моему, я рекомендую вам go для первого захода.