Api 验证Quarkus文件中的REST参数

Api 验证Quarkus文件中的REST参数,api,rest,quarkus,microprofile,Api,Rest,Quarkus,Microprofile,以下代码是Quarkus微文件API应用程序中控制器的一部分 @GET @路径(“/limit/{limit}/offset/{offset}”) @产生(MediaType.APPLICATION_JSON) 公众回应( @参数( description=“要返回的记录数。”, 必需=真, schema=@schema(type=SchemaType.INTEGER)) @PathParam(“限制”)整数限制, @参数( description=“记录的起始编号,从零开始。”, 必需=真,

以下代码是Quarkus微文件API应用程序中控制器的一部分

@GET
@路径(“/limit/{limit}/offset/{offset}”)
@产生(MediaType.APPLICATION_JSON)
公众回应(
@参数(
description=“要返回的记录数。”,
必需=真,
schema=@schema(type=SchemaType.INTEGER))
@PathParam(“限制”)整数限制,
@参数(
description=“记录的起始编号,从零开始。”,
必需=真,
schema=@schema(type=SchemaType.INTEGER))
@路径参数(“偏移量”)整数偏移量)
{
返回响应
.ok(此.accountService.getPaginatedAccounts(限制、偏移))
.build();
}
它返回一个分页的帐户列表

当用户调用API提供错误的“限制”或“偏移”类型时,即:

http://[url]/[entity]/limit/zzz/offset/0

她收到“404-未找到”

如何验证参数“limit”和“offset”,以便在用户提供错误类型(int的字符串)时收到:

“400-错误请求”

应该是这样的?

这是通过设计(JAX-RS规范)实现的

明确提到:


如果无法将URI path模板变量转换为指定的类型,JAX-RS运行时将向客户端返回HTTP 400(“错误请求”)错误。如果@PathParam注释无法转换为指定类型,JAX-RS运行时将向客户端返回HTTP 404(“未找到”)错误

在我的示例中,“URI路径模板变量”到底是什么?我知道“limit”是一个@PathParam,但我不知道在什么情况下JAX-RS会返回HTTP400。