jax-rs路由优先级冲突
jax-rs routing priority conflicts
我在 Spring 中使用 jax-rs。我有2个PUT API,有冲突,我想优先使用其中一个。
@PUT
@Path("/allQuestions")
public Response method1() {}
@PUT
@Path("/{qustionId}")
public Response method2(@PathParam("qustionId") long qustionId) {}
当我调用/allQuestions
时,应用程序总是试图将'allQuestions'字符串插入到method2
的qustionId
中,所以我想优先考虑method1
.
我该怎么做?
问题是方法 1 之前缺少 @Consumes({ MediaType.APPLICATION_JSON })
行。完整的代码是:
@PUT
@Path("/availableQuestions")
@Produces({ MediaType.APPLICATION_JSON })
public Response method1() {}
@PUT
@Path("/{questionId}")
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
public Response method2(@PathParam("questionId") long questionId) {}
我不确定为什么(编辑: 请参阅@peeskillet 评论以获取解释),但现在我添加了 @Consumes({ MediaType.APPLICATION_JSON })
:
@PUT
@Path("/availableQuestions")
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
public Response method1() {}
它很管用。
我在 Spring 中使用 jax-rs。我有2个PUT API,有冲突,我想优先使用其中一个。
@PUT
@Path("/allQuestions")
public Response method1() {}
@PUT
@Path("/{qustionId}")
public Response method2(@PathParam("qustionId") long qustionId) {}
当我调用/allQuestions
时,应用程序总是试图将'allQuestions'字符串插入到method2
的qustionId
中,所以我想优先考虑method1
.
我该怎么做?
问题是方法 1 之前缺少 @Consumes({ MediaType.APPLICATION_JSON })
行。完整的代码是:
@PUT
@Path("/availableQuestions")
@Produces({ MediaType.APPLICATION_JSON })
public Response method1() {}
@PUT
@Path("/{questionId}")
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
public Response method2(@PathParam("questionId") long questionId) {}
我不确定为什么(编辑: 请参阅@peeskillet 评论以获取解释),但现在我添加了 @Consumes({ MediaType.APPLICATION_JSON })
:
@PUT
@Path("/availableQuestions")
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
public Response method1() {}
它很管用。