请求的资源不可用jax-rs服务

时间:2016-04-03 05:04:46

标签: java web-services rest jax-rs

我用jersey写了一个jax-rs服务,该类如下,

我想像这样定义以下网址,

通过传递参数获取报告

  

http://localhost:8085/DiginReport/rs/Reports/getreport/ {TEST1:值,TEST2:值}

启动引擎:

  

http://localhost:8085/DiginReport/rs/Reports/start

 @Path("Reports")
public class ReportService {

    @GET
    @Path("/getreport}/{parameters}")
    @Produces(MediaType.TEXT_PLAIN)
    public Response getReport(@PathParam("reportName") String reportName,@PathParam("parameters") String parameters) throws KettleXMLException, KettleMissingPluginsException, JSONException, UnknownParamException {
        JSONArray jsonarr;
        return Response.status(200).entity("ok").build();
    }


    @GET
    @Path("{start}")
    @Produces(MediaType.TEXT_PLAIN)
    public Response startEngine(@PathParam("start") String command) {
        return Response.status(200).entity("ok").build();
    }
}

当我在网址中输入此内容时,它表示资源不可用, http://localhost:8085/DiginReport/rs/Reports/start

1 个答案:

答案 0 :(得分:0)

尝试以下代码。

我还会考虑以下事项:

将Json数据传递为application/json而不是字符串作为路径参数(请注意,您需要转义。

使用除GET之外的其他方法来启动引擎(例如POST),因为get应仅用于检索数据。

使用网址中的资源,而不是startgetreports

@Path("Reports")
public class ReportService {

    @GET
    @Path("/getreport/{parameters}")
    @Produces(MediaType.TEXT_PLAIN)
    public Response getReport(@PathParam("parameters") String parameters) throws KettleXMLException, KettleMissingPluginsException, JSONException, UnknownParamException {
        JSONArray jsonarr;
        return Response.status(200).entity("ok").build();
    }


    @GET
    @Path("/start")
    @Produces(MediaType.TEXT_PLAIN)
    public Response startEngine() {
        return Response.status(200).entity("ok").build();
    }
}