【问题标题】:@PathParam: No value being passed@PathParam:没有值被传递
【发布时间】: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


【解决方案1】:

答案是将其更改为:

fun getUser(@PathParam("userId") userId : UUID)

灵感来自 Paul Samsotha 的回答。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多