开始使用 Intellij 中的 Gradle 和 Springboot 制作应用程序。当我运行应用程序时,由于某种原因,地址 localhost:8080/projectName 正确响应,但找不到 localhost:8080 或任何 localhost:8080/somePage (404) 可能是什么问题以及如何解决该问题?
我将 server.servlet.context-path=/ 添加到我的 application.properties 文件中,但没有任何改变
这是我正在使用的 RestController:
@RestController
public class OrderController {
private final OrderRepository repository;
public OrderController(OrderRepository repository) {
this.repository = repository;
}
@GetMapping("/")
public String root() {
return "Welcome to the root URL!";
}
@GetMapping("/hello")
public String hello() {
return "Hello!";
}
@GetMapping("api/orders")
public Iterable<Order> getOrders() {
return repository.findAll();
}
@PostMapping("api/orders")
public Order saveOrder(@Valid @RequestBody Order order) {
return repository.save(order);
}
@GetMapping("api/orders/{id}")
public Order getOrders(@PathVariable Long id) {
return repository.findById(id).orElseThrow(() -> new
ResponseStatusException(HttpStatus.NOT_FOUND));
}
@ExceptionHandler
public ResponseEntity<Void> handle(ResponseStatusException e) {
return new ResponseEntity<>(null, e.getStatusCode());
}
@ExceptionHandler
@ResponseStatus(HttpStatus.BAD_REQUEST)
public void
handleValidationExceptions(MethodArgumentNotValidException ex) {
}
}
您必须创建一个默认构造函数。如果没有它,您的控制器就不会被实例化。
public OrderController() {}