我正在研究java,我有4个休息的Apis,路径" / deleteplanA"," / deleteplanB"," / deleteplanC",&#34 ; / deleteall&#34 ;. 例如,删除计划A的API是:
@POST
@Path("/deleteplanA")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response deletePlanA(@FormParam("user_id")String userId) {
Response response;
if(Verify(userId)) {
Enter code here
} else {
Enter code here
}
return response;
}
这里verify是一个返回布尔值的函数,根据该布尔值删除或不删除计划。
现在的问题是,因为" / deleteall" API调用函数deletePlanA,deletePlanB和deletePlanC,函数Verify(String)将执行3次。有办法防止这种情况吗?
我尝试在3个函数中添加一个布尔参数,但是那些似乎不起作用,因为js代码只用一个参数调用api。 (我不想从js传递验证值,因为我觉得它可以被用户轻松操作)
答案 0 :(得分:0)
如果没有Enter code here
步骤,您应该将Verify
分解为单个方法。然后在您验证的每个删除方法中,然后调用不包含Verify
步骤
public Response deleteAll(@FormParam("user_id")String userId) {
if (Verify(userId)) {
deletePlanAHelper(...);
deletePlanBHelper(...);
deletePlanCHelper(...);
} else {
...
}
}
public Response deletePlanA(@FormParam("user_id")String userId) {
if (Verify(userId)) {
deletePlanAHelper(...);
} else {
...
}
}
private ReturnType deletePlanAHelper(Parameters...) {
Enter code here
}