Я пытаюсь запустить загрузочное приложение Spring, которое подключено к базе данных MySQL (phpmyadmin). Проблема в том, что когда я пытаюсь получить, удалить или опубликовать данные, он генерирует это сообщение.
{
"timestamp": "2018-07-02T06:36:37.000+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/api/users"
}
Основной класс:
public class App extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(App.class);
}
public static void main( String[] args )
{
System.out.println( "Hello World!" );
SpringApplication.run(App.class, args);
}
}
Зависимость:
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity4</artifactId>
</dependency>
<dependency>
<groupId>com.nulab-inc</groupId>
<artifactId>zxcvbn</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.191</version>
</dependency>
</dependencies>
Application.properties
spring.datasource.url = jdbc:mysql://localhost:3306/demo_db?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto=create
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.generate-ddl=true
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
UserController:
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
UserRepository userRepoObject;
@GetMapping("/users")
public List<User> getAllUsers(){
return userRepoObject.findAll();
}
@PostMapping("/users")
public User createUser(@Valid @RequestBody User userObj) {
return userRepoObject.save(userObj);
}
@GetMapping("/users/{id}")
public User getUser(@PathVariable(value = "id") Long userId) {
return userRepoObject.findById(userId)
.orElseThrow(() -> new ResourceNotFoundException("User", "id", userId));
}
@DeleteMapping("users/{id}")
public ResponseEntity<?> deleteUser(@PathVariable(value="id") Long userId){
User user = userRepoObject.findById(userId).orElseThrow(() -> new ResourceNotFoundException("User","id",userId));
userRepoObject.delete(user);
return ResponseEntity.ok().build();
}
}
Кроме того, в моем приложении есть класс User, UserController и UserRepository. База данных demo_db и пользовательская таблица уже созданы в phpmyadmin.
Пожалуйста, помогите мне с этой проблемой. Большое спасибо заранее.
Для получения дополнительной информации прикрепляем скриншоты ошибок.