Java 在SpringHibernate中使用RESTAPI更新Web服务
我正在使用API,我必须更新web服务。我试过很多方法,但都没有达到预期的效果 我的域类是Java 在SpringHibernate中使用RESTAPI更新Web服务,java,mysql,spring,hibernate,rest,Java,Mysql,Spring,Hibernate,Rest,我正在使用API,我必须更新web服务。我试过很多方法,但都没有达到预期的效果 我的域类是 @Entity @Table(name="package") public class Package{ private Integer packageId; private String packageName; private String description; private Date validFrom
@Entity
@Table(name="package")
public class Package{
private Integer packageId;
private String packageName;
private String description;
private Date validFrom;
private Date validUpto;
public enum Status{Active,Inactive}
private Status status;
@JsonBackReference
private Set<HospitalInformation> hospitalInformation=new HashSet<HospitalInformation>();
//getters and setters
我的服务层是
@Override
public boolean updatePackageInfo(Integer packageId,String packageName,String description,Date validFrom,Date validUpto, Status status) throws Exception {
return updateDao.updatePackage(packageId, packageName, description, validFrom, validUpto, status);
}
我的控制器类有编译错误:
@Controller
@RequestMapping("/update")
public class UpdateRecordController {
@Autowired
private UpdateService updateService;
static final Logger logger=Logger.getLogger(RestController.class);
@RequestMapping(value="/package", method= RequestMethod.PUT,consumes=MediaType.APPLICATION_JSON_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Status updatePackageIfo( @RequestParam("Id") Integer Id){
Package packages=new Package();
try{
if(updateService.updatePackageInfo(Id)); //Error {
return new Status(1,"Successfylly Updated with Package Id "+packages.getPackageId());
}else{
return new Status(0,"Failed. Enter a valid packageId");
}
}catch(Exception e){
e.printStackTrace();
return new Status(0,e.getMessage());
}
}
}
检查了所有关于更新Web服务的链接后,我在Google上找不到任何有用的东西。所以,我需要解决如何使更新Web服务 控制器中出现了什么编译错误?我需要传递updatePackageInfo方法中的所有参数,而不仅仅是Id。但如果使用path变量传递,则必须将其作为URL参数传递,而不是作为JSON对象传递。因此,我想使用调用API并将JSON对象请求传递给它。
@Controller
@RequestMapping("/update")
public class UpdateRecordController {
@Autowired
private UpdateService updateService;
static final Logger logger=Logger.getLogger(RestController.class);
@RequestMapping(value="/package", method= RequestMethod.PUT,consumes=MediaType.APPLICATION_JSON_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Status updatePackageIfo( @RequestParam("Id") Integer Id){
Package packages=new Package();
try{
if(updateService.updatePackageInfo(Id)); //Error {
return new Status(1,"Successfylly Updated with Package Id "+packages.getPackageId());
}else{
return new Status(0,"Failed. Enter a valid packageId");
}
}catch(Exception e){
e.printStackTrace();
return new Status(0,e.getMessage());
}
}
}