从URL获取对Jersey REST资源方法的引用

从URL获取对Jersey REST资源方法的引用,rest,jersey,Rest,Jersey,我正在做一些性能测试,我希望能够在不通过网络的情况下调用资源方法。我已经有了一个生成URL的框架,我希望能够重用它 例如,给定URL:www.example.com:8080/resource/method,我想获取它调用的资源方法的引用,这样我就可以运行它而无需发出网络级HTTP请求。也就是说,在下面的示例中,我想使用URL“www.frimastudio.com:8080/time”获取对getServerTime()方法的引用,然后我可以直接调用该方法 Jersey(或其他什么?)是否提供

我正在做一些性能测试,我希望能够在不通过网络的情况下调用资源方法。我已经有了一个生成URL的框架,我希望能够重用它

例如,给定URL:www.example.com:8080/resource/method,我想获取它调用的资源方法的引用,这样我就可以运行它而无需发出网络级HTTP请求。也就是说,在下面的示例中,我想使用URL“www.frimastudio.com:8080/time”获取对getServerTime()方法的引用,然后我可以直接调用该方法


Jersey(或其他什么?)是否提供了实现这一点的方法,或者我是否必须导入我要调用的特定资源类、实例化它,等等。?提前谢谢

是的,这是一个RESTful API,允许路由配置(仅带注释)

例如:

package com.frimastudio.webservice.controller.route;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.joda.time.DateTime;

import com.frimastudio.webservice.controller.representation.Time;

@Path("/time")
@Produces(MediaType.APPLICATION_JSON)
public class TimeResource
{

    public TimeResource()
    {
    }

    @GET
    public Time getServerDate()
    {
        return new Time(new DateTime());
    }

}
作为杰克逊的代表:

package com.frimastudio.webservice.controller.representation;

import org.hibernate.validator.constraints.NotEmpty;
import org.joda.time.DateTime;

import com.fasterxml.jackson.annotation.JsonProperty;

public class Time
{
    @NotEmpty
    @JsonProperty
    private String date;

    public Time()
    {
        // Jackson deserialization
    }

    public Time(String date)
    {
        super();
        this.date = date;
    }

    public Time(DateTime date)
    {
        super();
        this.date = date.toString();
    }
}

这似乎是不可能的,从新泽西州的代码来看。查找由
HttpMethodRule.Matcher
执行,它是一个私有类,仅用于实现
HttpMethodRule.accept


在我看来,
accept
if(s==MatchStatus.MATCH){中的所有内容都可以被拉到自己的方法中并向用户公开。

我想我的问题还不够清楚。我已经定义了资源方法和所有方法。我正在从外部类进行性能测试,并且我有URL(www.frimastudio.com:8080/time来自您的示例)。我知道可以使用Jersey(通过WebResource)向该URL抛出HTTP请求。我想使用该URL获取对getServerDate()的引用方法,所以我可以直接调用它,而无需通过网络。如果你想执行负载测试脚本,你应该像客户端那样直接调用uri。如果你真的想绕过http服务器调用你的函数,你应该使用另一个通信服务,如websocket。是的,只需实例化你的资源类和call方法。你不能比这更直接、更舒适地调用方法。