I am using Spring Hibernate framework. And I have a problem in passing date as json object. Whenever I try to insert an object, it says error 400, request syntactically incorrect.
My controller class
@RequestMapping(value="/hospital", method= RequestMethod.POST,
consumes=MediaType.APPLICATION_JSON_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Status addHospitalInfo(@RequestBody HospitalInformation hospitalInformation){
try{
if(hospitalService.addHospitalInfo(hospitalInformation)){
return new Status(1,"Success");
}else{
return new Status(0,"Failed");
}
}catch(Exception e){
e.printStackTrace();
return new Status(0,e.getMessage());
}
}
My domain class is
private Integer hospitalId;
private String shortName;
private String name;
private Integer packageId;
private Date implementationDate;
private Date validFrom;
private Date validUpTo;
public enum SubscriptionType{Free,Complimentary,Paid}
private Integer totalUsers;
private Package packages;
public enum Status{Active,Inactive}
private SubscriptionType subscriptionType;
private Status status;
//normal getters and setters for other fields
@Column(name = "implementation_date",
nullable = false)
public Date getImplementationDate() {
return implementationDate;
}
public void setImplementationDate(Date implementationDate)
{
this.implementationDate = implementationDate;
}
@Column(name = "valid_from",
nullable = false)
public Date getValidFrom() {
return validFrom;
}
public void setValidFrom(Date validFrom)
{
this.validFrom =validFrom;
}
@Column(name = "valid_upto",
nullable = false)
public Date getValidUpTo() {
return validUpTo;
}
public void setValidUpTo(Date validUpTo)
{
this.validUpTo =validUpTo;
}
My Dao is
@Transactional
public boolean addHospitalInfo(HospitalInformation hospitalInformation)
throws Exception {
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
if(findByPackageId(hospitalInformation.getPackageId())== null){
return false;
}
else{
session.save(hospitalInformation);
tx.commit();
session.close();
return true;
}
}
@Transactional
public Package findByPackageId(Integer packageId) throws Exception {
Session session=sessionFactory.openSession();
Transaction tx= session.beginTransaction();
List<Package> package1= new ArrayList<Package>();
package1=session
.createQuery("from Package where packageId=?")
.setParameter(0, packageId)
.list();
if (package1.size() > 0) {
return package1.get(0);
} else {
return null;
}
}
And my service class just saves the object into database. So I need help on how to pass date as json object. Thankyou in advance.
Aucun commentaire:
Enregistrer un commentaire