我有一个由端点层,服务层和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);
}
}
}
答案 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
注释的下一层。