Java 无法发布列RESTFUL API
我使用JavaHibernateJersery框架制作了RESTfulAPI 我必须发布我已经发布的数据,但是我缺少一个列Java 无法发布列RESTFUL API,java,mysql,hibernate,Java,Mysql,Hibernate,我使用JavaHibernateJersery框架制作了RESTfulAPI 我必须发布我已经发布的数据,但是我缺少一个列MealTypeName。 这是我的道课: public class MealTypeDAO { public void addMealType( MealType bean) { Session session = SessionUtil.getSession(); Transaction tx = session.beginTransaction();
MealTypeName
。
这是我的道课:
public class MealTypeDAO {
public void addMealType( MealType bean) {
Session session = SessionUtil.getSession();
Transaction tx = session.beginTransaction();
addMealType(session, bean);
tx.commit();
session.close();
}
private void addMealType(Session session, MealType bean){
MealType mealType = new MealType();
mealType.setMealTypename(bean.getMealTypename());
mealType.setModifiedon(bean.getModifiedon());
mealType.setModifiedby(bean.getModifiedby());
session.save(mealType);
}
这是我的资源类:
public class MealTypeResource {
@POST
@Path("/create")
@Consumes("application/json")
public Response addMealType(MealType meal){
meal.setMealTypename(meal.getMealTypename());
meal.setModifiedon(meal.getModifiedon());
meal.setModifiedby(meal.getModifiedby());
MealTypeDAO dao = new MealTypeDAO();
dao.addMealType(meal);
return Response.ok().build();
}
@GET
@Produces("application/json")
public Response getMealType() {
MealTypeDAO dao = new MealTypeDAO();
List mealTypes = dao.getMealType();
String json = new Gson().toJson(mealTypes);
return Response.ok().entity(json.toString()).build();
}
这是我的实体类:
public class MealType {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int MealTypeId;
@Column
private String MealTypename;
@Column
private int modifiedby;
@Column
private String modifiedon;
public int getMealTypeId() {
return MealTypeId;
}
public void setMealTypeId(int mealTypeId) {
MealTypeId = mealTypeId;
}
public String getMealTypename() {
return MealTypename;
}
public void setMealTypename(String mealTypename) {
MealTypename = mealTypename;
}
public int getModifiedby() {
return modifiedby;
}
public void setModifiedby(int modifiedby) {
this.modifiedby = modifiedby;
}
public String getModifiedon() {
return modifiedon;
}
public void setModifiedon(String modifiedon) {
this.modifiedon = modifiedon;
}
MySQL数据库:
CREATE TABLE `mealtype`(`Mealtypeid` int(11) NOT NULL AUTO_INCREMENT,`MealTypename` varchar(20) DEFAULT NULL,`modifiedby` int(11) NOT NULL,`modifiedon` datetime NOT NULL,PRIMARY KEY (`Mealtypeid`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
现在我以JSON格式从POSTMAN发布这些数据:
{"MealTypeId":14,"MealTypename":"adsdf","modifiedby":1,"modifiedon":"2000-01-01 00:00:00"}
我得到了这些数据:
{"MealTypeId":14,"modifiedby":1,"modifiedon":"2000-01-01 00:00:00"}
缺少
MealTypename
。为什么呢有人能帮我吗?您使用的名称的首字母大写MealTypename
-这是一个原因
名为getMealTypename
的getter用于JSON属性mealTypename
(不是mealTypename
):
您需要指定JSON属性名称:
@JsonProperty(“MealTypename”)
-用于Jackson
@SerializedName(“MealTypename”)
-用于Gson
您需要将此注释放入映射到JSON的类的字段或getter(MealType
)
并使用标准Java命名约定
public class MealType {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int mealTypeId;
@Column
private String mealTypename;
}
这看起来很奇怪:
meal.setMealTypename(meal.getMealTypename());
meal.setModifiedon(meal.getModifiedon());
meal.setModifiedby(meal.getModifiedby());
您使用的名称首字母大写
MealTypename
——这是一个原因
名为getMealTypename
的getter用于JSON属性mealTypename
(不是mealTypename
):
您需要指定JSON属性名称:
@JsonProperty(“MealTypename”)
-用于Jackson
@SerializedName(“MealTypename”)
-用于Gson
您需要将此注释放入映射到JSON的类的字段或getter(MealType
)
并使用标准Java命名约定
public class MealType {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int mealTypeId;
@Column
private String mealTypename;
}
这看起来很奇怪:
meal.setMealTypename(meal.getMealTypename());
meal.setModifiedon(meal.getModifiedon());
meal.setModifiedby(meal.getModifiedby());
私有字符串mealTypename@列进行了更改,但仍然不起作用。@mree您需要将
@JsonProperty(“MealTypename”)
放入getter。如果要在数据库中使用MealTypename
,可能需要指定@Column
名称。我需要将此@JsonProperty(“MealTypename”)放在哪里??在实体类??私有字符串mealTypename中@列进行了更改,但仍然不起作用。@mree您需要将@JsonProperty(“MealTypename”)
放入getter。如果要在数据库中使用MealTypename
,可能需要指定@Column
名称。我需要将此@JsonProperty(“MealTypename”)放在哪里??在实体类中??