抛出错误请求400而不是内部服务器错误500

时间:2016-06-15 21:22:50

标签: java rest jax-rs bad-request

我们假设有一个url接受一个名为" param"的整数参数。

@Path("/foo/") 
public Response getFoo(@QueryParam("param") Integer param) 
{ ...... }

如果我打这样的电话 - > / foo /?param = aa(使用字符串值而不是整数),它会抛出http状态代码500而不是400,因为输入似乎是错误的。

确保它抛出400的最佳方法是什么,因为它实际上是不好的请求?

1 个答案:

答案 0 :(得分:0)

尝试改变:

@Path("/foo/")

为:

@Path("/foo")

然后致电

/foo?param=aa

而不是

/foo/?param=aa

我不确定它是否会解决问题,但我从未见过在“/”后立即传递查询参数