gpt4 book ai didi

java - REST:处理 GET 请求的 400 错误

转载 作者:行者123 更新时间:2023-12-01 12:33:32 24 4
gpt4 key购买 nike

我有一个GET请求网址entities\{id} 。这里 RestController 期望 id 在 Long 中格式。
测试用例表明,如果用户传递无效的 id , Controller 应返回 HTTP-400 Bad Request错误。例如: /entities/21.0 , /entities/xx ETC。
但在击中 Controller 本身之前, Jersey 会抛出一个 HTTP-404错误。

RestController 看起来像这样:

@GET
@Path("/{id}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response getEntityById(@PathParam("id") Long id){}

最佳答案

警告:这不是一个很好的解决方案,但它是一个有效的解决方案。

首先:我相信@PathVariable是正确的注释,而不是@PathParam(我正在阅读3.2 spring引用)。

  1. 将 id 参数的类型更改为 String
  2. 在该方法中执行 Long.parseLong(id) 并捕获 NumberFormatException。
  3. 返回 NumberFormatException 所需的错误指示。

关于java - REST:处理 GET 请求的 400 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com