當我嘗試通過路徑(例如,http://localhost:8082/api/user)使用該專案的 API 發送任何請求時,結果始終是 404Not Found in postman。
為什么 ???
檔案屬性
spring.datasource.url = jdbc:mysql://localhost:3306/user
spring.datasource.username = user
spring.datasource.password = user
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
server.port = 8082
用戶模型
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
}
存盤庫類
@Repository
public interface UserRepository extends CrudRepository<User, Long> {}
控制器
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping
public List<User> findAllUsers() {
return userRepository.findAll();
}
@GetMapping("/{id}")
public ResponseEntity<User> findUserById(@PathVariable(value = "id") long id) {
Optional<User> user = userRepository.findById(id);
if(user.isPresent()) {
return ResponseEntity.ok().body(user.get());
} else {
return ResponseEntity.notFound().build();
}
}
@PostMapping
public User saveUser(@Validated @RequestBody User user) {
return userRepository.save(user);
}
}
uj5u.com熱心網友回復:
據我了解,由于您傳遞的是路徑變數,因此您應該嘗試使用添加資料庫中存在的 id 的 url,否則有一個屬性可以指定應用程式在服務器中運行時的初始基本 url server.servlet.context-path=/api 對于 Spring 2.X 版本和 spring.data.rest.basePath=/api 對于 Spring Boot 1.2 (<2.0)。因此,為了避免路徑中出現多余的“api”,您的請求映射應該是 @RequestMapping("/user")。請讓我知道這是否有幫助
uj5u.com熱心網友回復:
我不會在您的代碼中看到任何問題,對我來說看起來不錯。當我在筆記本電腦上運行相同的代碼時,它作業正常。所以看起來還有其他問題。我有一些問題。
- 您的應用程式是否正確啟動?
- 您使用的是哪個 Spring Boot 版本?
- 如果可能的話,您能否分享代碼回購鏈接,以便我可以除錯問題?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/515364.html
標籤:爪哇春天弹簧靴休眠
上一篇:無法決議符號存盤庫
