Java端点层

时间:2018-01-11 12:23:22

标签: java rest

我有一个由端点层,服务层和dao组成的REST应用程序。

因此,端点层通常具有应用程序所需的所有注释,例如@ Path,@ POST,@ GET等。

最好检查端点中的参数是空还是空?

例如..

@Path("/app")
public class EndpointLayerBean implements EndpointLayer {

   @EJB
   private ServiceLayer serviceLayer;

   @GET
   @Path("eq/{a}/{b}/eq")
   public Response getValue(@PathParam("a") String a, @PathParam("b") String b)
   {
     if(a == null || b == null){
        return Response.status(Response.BAD_PARAMETER);
     } else{
        return serviceLayer.doSomething(a, b);
     }
   }

}

3 个答案:

答案 0 :(得分:3)

是的,这是有道理的。但你应该看看JavaEE bean validation.这将允许你通过这样的注释指定有效的参数:

@GET
@Path("eq/{a}/{b}/eq")
public Response getValue(@PathParam("a") @NotNull String a, @PathParam("b") @NotNull String b) 
{
    return serviceLayer.doSomething(a, b);
}

答案 1 :(得分:1)

是的,在少数情况下,它完全取决于您的数据类型。 如果字段没有值,则它应为null。 这个很简单,但有一些细微差别。不存在的数字,字符串通常表示为null。但是没有值的布尔字段也应该被视为false。

答案 2 :(得分:1)

是的,这是对基本合规水平要求进行审查的合适场所。如果必须咨询数据库,则将使用带有@Transactional注释的下一层。