我想用RestEasy学习Restful Web服务。我创建了一个Java类并尝试使用实例变量,但默认范围是请求范围,在事件发生后,变量的值将被清除。我们如何在RestEasy类的不同方法中使用实例变量。 我的代码如下:我们如何在RestEasy中使用实例变量?
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package restService;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
/**
*
* @author ilkaygunel
*/
@Path("/service")
public class Service {
Map<Integer, String> employeeMap = new HashMap<>();
@GET
@Path("/show")
@Produces("application/json")
public Map show()
{
return employeeMap;
}
@POST
@Path("/addRecord")
@Consumes("application/json")
@Produces("application/json")
public Map addRecord(Employee employee) {
employeeMap.put(employee.getEmployeeId(), employee.getEmployeeName()+" "+employee.getEmployeeSurname());
System.out.println("@POST ile işaretlenmiş metoda gelen veri:");
System.out.println(employee.getEmployeeId());
System.out.println(employee.getEmployeeName());
System.out.println(employee.getEmployeeSurname());
System.out.println("---HashMap İçindeki Veri (POST Metodundan)---");
for (Map.Entry<Integer, String> entry : employeeMap.entrySet()) {
System.out.println(entry.getKey() +" " +entry.getValue());
}
return employeeMap;
}
@PUT
@Path("/updateRecord")
@Consumes("application/json")
public void updateRecord(Employee employee) {
System.out.println("@PUT ile işaretlenmiş metoda gelen veri:");
System.out.println(employee.getEmployeeId());
System.out.println(employee.getEmployeeName());
System.out.println(employee.getEmployeeSurname());
System.out.println("HashMap'in Boyutu:"+employeeMap.size());
for(Integer key : employeeMap.keySet()) {
if(key ==employee.getEmployeeId())
{
System.out.println("Buraya Bak:"+employeeMap.get(key));
employeeMap.put(key, employee.getEmployeeName()+" "+employee.getEmployeeSurname());
}
break;
}
System.out.println("---HashMap İçindeki Veri (PUT Metodundan)---");
for (Map.Entry<Integer, String> entry : employeeMap.entrySet()) {
System.out.println(entry.getKey() +" " +entry.getValue());
}
}
@DELETE
public void deleteRecord() {
}
}