首页 > 解决方案 > @PathVariable UUID... 带有逗号分隔的 ID 不起作用:返回 400 响应

问题描述

我在 spring boot 中使用 crud 存储库的 findByAllIds 方法。我想在我的@pathvariable 中传递带有逗号分隔它们的id 列表,id 是uuid 类型,所以每当我这样做时,我都会得到“无法将'java.lang.String' 类型的值转换为所需类型'java.util.UUID';嵌套异常是 java.lang.IllegalArgumentException: Invalid UUID string" 错误。

标签: javaspring-boot

解决方案


从您评论中的代码中,我看不到任何指示为@Pathvariable 的内容,但即使是,您也提到您正在传递多个用逗号分隔的 UUID。但是,您只在方法调用中列出一个 UUID 参数。如果您尝试将多个 UUID 字符串传递给其中,我确实希望您得到错误,即java.lang.IllegalArgumentException: Invalid UUID string

您是否尝试过将 @Pathvariable 设为数组?即UUID[] ids?或者作为一个列表,即List<UUID> ids根据将数组或列表传递给@Pathvariable - Spring/Java,两者都是可能的


推荐阅读