Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使资源不应';不存在_Java_Rest_Jersey - Fatal编程技术网

Java 即使资源不应';不存在

Java 即使资源不应';不存在,java,rest,jersey,Java,Rest,Jersey,我试图学习如何创建RESTful web服务。 我正在努力做到以下几点: 创建一个从消息列表返回消息对象(JSON格式)的方法。(已使用构造函数初始化) 它通常针对以下URI运行: 对于URI: 我得到以下回应: { "id": 1, "message": "m1" } 但是,我在arraylist中只添加了3个元素。 我做错了什么 我猜这与多次运行构造函数有关。但我不认为这会发生在任何地方 @Path("testresource") public class Messa

我试图学习如何创建RESTful web服务。 我正在努力做到以下几点: 创建一个从消息列表返回消息对象(JSON格式)的方法。(已使用构造函数初始化)

它通常针对以下URI运行:

对于URI:

我得到以下回应:

{
    "id": 1,
    "message": "m1"
}
但是,我在arraylist中只添加了3个元素。 我做错了什么

我猜这与多次运行构造函数有关。但我不认为这会发生在任何地方

@Path("testresource")
public class MessageResource {

    private static List<Message> list = new ArrayList<>();

    public MessageResource() {
        list.add(new Message(1L,"m1"));
        list.add(new Message(2L,"m2"));
        list.add(new Message(3L,"m3"));
    }

    @GET
    @Path("{messageId}")
    @Produces(MediaType.APPLICATION_JSON)
    public Message getSpecificMessage(@PathParam("messageId") int messageId) {
        return list.get(messageId-1);
    }

}
@Path(“testresource”)
公共类消息资源{
私有静态列表=新的ArrayList();
公共消息资源(){
添加(新消息(1L,“m1”);
添加(新消息(2L,“m2”);
添加(新消息(3L,“m3”);
}
@得到
@路径(“{messageId}”)
@产生(MediaType.APPLICATION_JSON)
公共消息getSpecificMessage(@PathParam(“messageId”)int-messageId){
返回列表.get(messageId-1);
}
}

列表是静态的。这意味着该类的所有实例只有一个列表实例。资源类在请求范围中是默认的,这意味着为每个请求实例化一个新的资源类。因此,每次创建一个新的时,它都会添加到相同的
static
列表中


如果您希望资源类是一个单例(仅一个),那么可以使用
@singleton
对其进行注释,列表是
静态的。这意味着该类的所有实例只有一个列表实例。资源类在请求范围中是默认的,这意味着为每个请求实例化一个新的资源类。因此,每次创建一个新的时,它都会添加到相同的
static
列表中

如果希望资源类是单例(仅一个),则可以使用
@singleton
对其进行注释