Проблема: новая таблица создается один раз, когда я делаю пост-запрос через консоль bash. Остальные запросы переходят на новую таблицу. Чем ему не нравятся те базы данных, которые есть в наличии. Как я понимаю - они просто не знают, но я не знаю, как правильно это направить. Хотя все переменные также имеют имена.
Обнаружена проблема, возникшая из-за аннотации Entity в классе Message. Подскажите, пожалуйста, как сделать так, чтобы он был добавлен к существующей таблице, пробовал @Table(name = "ApiTable")
к существующей, и он генерирует новую таблицу api_table. Также не совсем понимаю, что нужно добавить / изменить, чтобы принимать запросы json post.
Приложение
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@SpringBootApplication
@EnableJpaRepositories("com.example.api")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
MainController
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping(path="/demo") /
public class MainController {
@Autowired
private UserRepository TestApi;
@PostMapping(path="/add")
public @ResponseBody String addNewUser (@RequestParam String name
, @RequestParam String email) {
Message n = new Message();
n.setName(name);
n.setEmail(email);
TestApi.save(n);
return "Saved";
}
@GetMapping(path="/all")
public @ResponseBody Iterable<Message> getAllUsers() {
return TestApi.findAll();
}
}
Сообщение
import javax.persistence.*;
@Entity
public class Message {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private String name;
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
UserRepository
import org.springframework.data.repository.CrudRepository;
public interface UserRepository extends CrudRepository<Message, Integer> {
}
application.properties
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost/Test?useUnicode=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root