我正在休息调用Spring Controller,但未能通过BAD请求(400原因,原始问题Spring Controller 400 (Bad Request))
我的初始休息参数是:
categoty: "Game"
itemDescription: "adas"
itemDiscount: 1
itemName: "asdas"
itemPrice: 1
itemQuantity: 1
此操作失败,但当我更改下面的参数时,它可以工作:
categoty: "Game"
description: "test1"
discount: 10
name: "Test"
price: 10
quantity: 10
我的持久性POJO课程是:
import javax.persistence.*;
@Entity
@Table(name= "Item")
public class Item {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
private int id;
private String itemName,itemDescription,categoty;
private double itemPrice;
private float itemDiscount;
private int itemQuantity;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getQuantity() {
return itemQuantity;
}
public void setQuantity(int quantity) {
this.itemQuantity = quantity;
}
public float getDiscount() {
return itemDiscount;
}
public void setDiscount(float discount) {
this.itemDiscount = discount;
}
public double getPrice() {
return itemPrice;
}
public void setPrice(double price) {
this.itemPrice = price;
}
public String getName() {
return itemName;
}
public void setName(String iName) {
this.itemName = iName;
}
public String getDescription() {
return itemDescription;
}
public void setDescription(String desc) {
this.itemDescription = desc;
}
public String getcategoty() {
return categoty;
}
public void setcategoty(String cat) {
this.categoty = cat;
}
}
有人可以帮助我理解为什么第二种类型的参数有效,而第一种参数没有(理想情况下,第一种是一对一映射到持久性类中的属性)?
答案 0 :(得分:0)
它与getter和setter相同,它从所有变量中删除了前缀名称,请检查以下链接:
答案 1 :(得分:0)
Spring调用Entity类的setter。 (属性quantity
- > setQuantity(String)
- 它不会查看您的成员姓名(例如itemQuantity
)。
但是:像你的成员一样命名setter / getter总是一个好主意。您应该重命名您的成员以匹配getter和setter。这使得它更加清晰。
除此之外,getcategoty
和setcategoty
应重命名为驼峰式getCategory
和setCategory
。顺便说一句:categoty
category
的拼写错误