我正在尝试使用springboot构建restapi。我已经实现了实体类、存储库、服务和控制器类的第一个组合。我现在尝试用另一个数据库表执行类似的操作,但每次尝试通过http请求(使用curl)将记录保存到数据库时,都会遇到一个异常,即属性不能为null。如果我移除 @Column(nullable = false)
注解我没有得到异常,但数据库中相应的列仍然为空。
以下是我的源代码的相关部分:
表格数据.kt
@Entity
class FormData (data: String): BaseEntity() {
// BaseEntity contains id and createdAt properties that I want to have in all entity-classes
@Column(nullable = false)
private var formData = data
// Getter
// Setter
}
formdatarepository.kt格式
interface FormDataRepository : CrudRepository<FormData, Long?> {}
表单数据服务.kt
@Service
class FormDataService(private val repo: FormDataRepository) {
fun getAllFormDataRecords(): Iterable<FormData> {
return repo.findAll()
}
fun createFormDataRecord(formData: FormData): FormData {
return repo.save(formData)
}
}
表单数据控制器.kt
@RestController
@CrossOrigin
class FormDataController (
private val service: FormDataService
){
// Paths are set in dedicated file
@GetMapping(path = [FORMDATA_URL])
fun get(): ResponseEntity<Iterable<FormData>> {
return ResponseEntity.ok(service.getAllFormDataRecords())
}
@PostMapping(path = [FORMDATA_URL])
fun post(@RequestBody data: FormData): ResponseEntity<FormData> {
return ResponseEntity.ok(service.createFormDataRecord(data))
}
}
我所做的测试应用程序是在bash中运行以下内容: curl --header "Content-Type: application/json" --request POST --data '{"data": "thisismydata"}' http://localhost:8080/api/formdata
任何想法和意见,可能有助于我解决这个问题将不胜感激!
暂无答案!
目前还没有任何答案,快来回答吧!