Jersey Restful API中的错误处理

时间:2015-10-21 05:14:00

标签: json api rest jersey

我在Jersey Servlet中有一个方法

@POST
@Path("{type}:{bank_code}/accounts/{account}")
@Consumes("application/x-www-form-urlencoded")
@Produces("application/json")
public String VerifyRecipient(MultivaluedMap<String,String> requestParamsPost,
        @PathParam("type") String type,
        @PathParam("bank_code") String bank_code,
        @PathParam("account") String account) {
    String ret=null;
    Integer trxn_type_id=null;
    this.logger = LogFactory.getLog(getClass());
    if(account==null){
        throw new WebApplicationException(Response.status(
                Response.Status.NOT_FOUND).type(
                MediaType.APPLICATION_JSON).entity(
                "Account is not found").build());

    }

如果某人没有为{account}提供任何价值,我想返回404未找到的JSON响应。但我的问题是,当{account}没有价值时,请求甚至没有达到我的方法。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的示例实际上是在点击其他网址 - {type}:{bank_code}/accounts而不是{type}:{bank_code}/accounts/{account}。如果您确实需要一些定制的行为,那么您必须使用@Path注释创建一个不同的方法。