Я новичок во всем, что связано с Spring, не могли бы вы мне помочь? Я пытаюсь написать регистрационный api, который сохраняет некоторые данные в базе данных с помощью Spring JPA.
Вот мой код:
@ Модель объекта:
@Entity
@Table(name = "registerapplications")
public class RegisterApplication {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String applicationId;
public RegisterApplication (String applicationId) {
this.applicationId = applicationId;
}
// Getters and Setter
}
Репозиторий:
public interface RegisterRepository extends CrudRepository<RegisterApplication, Long>{
}
Контроллер:
@RestController
public class RegisterApplicationController {
@Autowired
private RegisterRepository registerRepository;
@RequestMapping (path = "/register", method=RequestMethod.POST)
public @ResponseBody RegisterApplication registerApplicationController() {
RegisterApplication registerApplication = new RegisterApplication(UUID.randomUUID().toString());
registerRepository.save(registerApplication);
return registerApplication;
}
}
application.properties:
spring.jpa.hibernate.ddl-auto=create
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/register
spring.datasource.username=admin
spring.datasource.password=admin
Запрос работает правильно, но не сохраняет данные в моей таблице: Скриншот базы данных
Я не получаю ошибки, поэтому не знаю, в чем проблема. Не могли бы вы взглянуть на код и дать мне несколько советов?
У меня нет тела запроса. Это ответ: {"id": 1, "applicationId": "fc1d499e-133c-42de-912d-082957d0baca"}, и я хочу добавить идентификатор и applicationId в базу данных в таблице registerapplications.




Я думаю, что причина вашей проблемы в том, что вы забыли аннотировать поле applicationId в вашем entity с помощью @Column.
@ deedee88 вы создавали свою db-таблицу вручную? Потому что в нем больше столбцов, чем определено в сущности. Возможно, удалите эту таблицу и позвольте JPA создать ее
Я пробовал использовать только эти 2 столбца, и я также попытался позволить JPA создать таблицу, но он не создает ее.
Есть ли журналы sql? Добавьте spring.jpa.show-sql=true к вашему application.proprties, чтобы включить ведение журнала sql
После многих изменений мне удалось исправить проблему. Я думаю, что основная проблема заключалась в том, что пакет ресурсов находился в пакете java, а не в основном пакете. И оттуда я переходил от ошибки к ошибке, пока она не сработала. Спасибо за помощь Валентин.
какой ответ? что вы отправляли на
/register?