Java 在SpringHibernate中使用RESTAPI更新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

我正在使用API,我必须更新web服务。我试过很多方法,但都没有达到预期的效果

我的域类是

    @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());
    }   
    }
}