【发布时间】:2019-07-06 02:58:17
【问题描述】:
我有问题。我正在使用 Spring Boot 和 sqlite3 DB。我试图将数据发送到数据库。 当我将数据发送到数据库时出现此错误:
{
"timestamp": "2019-02-12T12:39:40.413+0000",
"status": 400,
"error": "Bad Request",
"message": "JSON parse error: Cannot deserialize instance of `com.dar.darkozmetika.models.CategoryModel` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `com.dar.darkozmetika.models.CategoryModel` out of START_ARRAY token\n at [Source: (PushbackInputStream); line: 1, column: 1]",
"path": "/api/cateogry/dar"
}
这是我的控制器:
RestController
@RequestMapping("api/cateogry/dar")
public class CategoryController {
@Autowired
private CategoryRepository categoryRepository;
@GetMapping
private List<CategoryModel> getAllCategory (){
System.out.println("sadad");
System.out.println("sadad" + this.categoryRepository.findAll());
return this.categoryRepository.findAll();
}
@PostMapping
@ResponseStatus(HttpStatus.OK)
public void create(@RequestBody CategoryModel bike) {
categoryRepository.save(bike);
}
@GetMapping("/{id}")
public CategoryModel getSpecificCategory(@PathVariable("id") long id) {
return null;//categoryRepository.getOne(id);
}
}
这是我的模型:
@Entity
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class CategoryModel {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String categoryName;
private String categoryDescription;
private String imagePath;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCategoryName() {
return categoryName;
}
我从 Postman 发送了这些数据:
[
{
"id": 2,
"categoryName": "dsds",
"categoryDescription": "sdsd",
"imagePath": "Jsdsds"
}
]
非常有趣,我可以毫无问题地从数据库中获取数据。这是从我的数据库返回的。
[
{
"id": 1,
"categoryName": "jeff@bikes.com",
"categoryDescription": "Globo MTB 29 Full Suspension",
"imagePath": "Jeff Miller"
}
]
【问题讨论】:
-
因为
Request级别有问题。它格式错误,因此HTTP-400 Bad Request. -
好的,我能用这个做什么?
标签: spring-boot sqlite