【发布时间】:2021-06-20 12:21:24
【问题描述】:
我正在使用 Quarkus 和 Kotlin 构建一个 REST api。我试图通过使用 @PathParam 注释在我的函数中包含一个路径参数。这就是我所拥有的:
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/{userId}")
fun getUser(@PathParam userId: UUID) : GetUserResponse =
try {
GetUserSuccess(userRepository.find("id", userId))
} catch (e: NotFoundException) {
GetUserFailure(e)
}
不幸的是,我收到一条错误消息,指出没有为参数值传递任何值。
我用谷歌搜索了一些东西,我发现的大部分内容都是关于错误的导入。我仔细检查了该部分,但我导入了正确的部分:import javax.ws.rs.*,其中还包括 PathParam。
有人知道这是怎么回事吗?
【问题讨论】:
-
如果您将
userId参数类型设为String,那会改变吗?我不确定UUID是否默认支持。 -
@PathParam("userId")
-
@Ladicek,将其更改为 String 没有帮助。谢谢你的建议!
-
@PaulSamsotha,这确实起到了作用!根据您的建议,我发布了一个有效的答案。谢谢!
-
啊当然,我不知道我怎么会错过缺少的注释属性!抱歉打扰了。
标签: rest kotlin jax-rs quarkus path-parameter