gpt4 book ai didi

java - 两个具有相同休息终点的java方法

转载 作者:行者123 更新时间:2023-12-02 03:45:43 25 4
gpt4 key购买 nike

我是一名从 Java 5 迁移到 Java 1.7 的 Java 开发人员,我正在查看一些代码,但不知道这是可能的。

@Path("/myroot")
@Service
public class MyServiceClass {

@POST
@Produces({ "application/x-protobuf" })
@Path("bookid/{bookNumber}")
public Response findBookByBookId(
@PathParam("bookNumber") String bookNumber,
@QueryParam("searchType") String searchType) {
return ...
}

@POST
@Produces("application/json")
@Path("bookid/{bookNumber}")
public Response findBookByBookIdAsJson(
@PathParam("bookNumber") String bookNumber,
@QueryParam("searchType") String searchType) {
return ...;
}

我这里有两种具有相同休息终点的方法。唯一的区别是它们产生不同的共振类型。

我的问题是,如果调用应用程序正在调用 rootUrl/bookId/1234,看起来 java 足够聪明,可以根据响应类型知道要调用什么方法。

我说得对吗?有人可以帮助我理解这一点吗?

谢谢

最佳答案

Rest 端点调用将由 Accept header 确定

 curl -v -H "Accept: application/json" --data "param1=value1&param2=value2" http://<Server>/bookid/{bookNumber} 

将调用

@POST
@Produces("application/json")
@Path("bookid/{bookNumber}")
public Response findBookByBookIdAsJson(
@PathParam("bookNumber") String bookNumber,
@QueryParam("searchType") String searchType) {
return ...;
}

还有

curl -v -H "Accept: application/x-protobuf" --data "param1=value1&param2=value2" http://<Server>/bookid/{bookNumber} 

将调用

@POST
@Produces({ "application/x-protobuf" })
@Path("bookid/{bookNumber}")
public Response findBookByBookId(
@PathParam("bookNumber") String bookNumber,
@QueryParam("searchType") String searchType) {
return ...
}

关于java - 两个具有相同休息终点的java方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36324610/

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