gpt4 book ai didi

java - 查找 Java 中是否存在 Rest 服务中的方法

转载 作者:行者123 更新时间:2023-11-30 03:46:02 27 4
gpt4 key购买 nike

您好,我是 Java 中的 Rest 服务新手。首先我想解释我的问题,最后我会提出问题。我正在使用 Mozilla Rest CLIENT。我的休息课如下:

@Path("/api1")
public class RestService {
@POST
@Path("/v1")
@Consumes("application/json")
@Produces("application/json")
public String v1(String json){
//Some code here
}

@POST
@Path("/v2")
@Consumes("application/json")
@Produces("application/json")
public String v2(String json){
//Some code here
}

}

现在在这段代码中我有两个函数。要访问 v1,调用将是:

http://localhost:8080/project_name/package/api1/v1

要访问 v2 调用将是:

http://localhost:8080/project_name/package/api1/v2

问题:现在,在我的其余服务类中,我想添加一段代码,用于检测该服务中是否存在任何被称为 v1、v2 或 v3 的函数?

我可以这样做吗?或者有其他方法可以做到这一点吗?

谢谢

最佳答案

那么,您可以添加通配符响应:

@POST
@Path("/{what}")
@Consumes("application/json")
@Produces("application/json")
public String v2(String json, @PathParameter("what") String what){
return "The path "+what+" does not exist.";
}

但是,由于用户永远不会看到直接响应,因此您可以使用自定义的 404 进行回答:

@POST
@Path("/{what}")
@Consumes("application/json")
@Produces("application/json")
public Response v2(String json, @PathParameter("what") String what){
return Response.status(Status.NOT_FOUND).entity("The path "+what+" does not exist.");
}

这样您还可以在客户端检测到错误。

关于java - 查找 Java 中是否存在 Rest 服务中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25687521/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com