Java 检查额外字段
我将Jersey与javax.ws.rs*一起使用 我有以下功能:Java 检查额外字段,java,jersey,jax-ws,Java,Jersey,Jax Ws,我将Jersey与javax.ws.rs*一起使用 我有以下功能: @PUT public R modify(@PathParam("id") int id, R in) throws Exception { ... } 其中R(资源)是一个JSON对象,包含要更新的字段。例如: { "name": "Building", "address": "Street number", "address2": "Lower floor" } { "name": "Qcast
@PUT
public R modify(@PathParam("id") int id, R in) throws Exception {
...
}
其中R(资源)是一个JSON对象,包含要更新的字段。例如:
{
"name": "Building",
"address": "Street number",
"address2": "Lower floor"
}
{
"name": "Qcast HQ",
"illegalField" : "someValue"
}
更新过程正在运行,但作为使用此API的网站开发人员的额外措施,我希望该方法在发送不允许的字段时引发异常。例如:
{
"name": "Building",
"address": "Street number",
"address2": "Lower floor"
}
{
"name": "Qcast HQ",
"illegalField" : "someValue"
}
因为输入被视为资源对象,所以我不确定该方法是否可以检查非法字段。也许有一个注释或者我可以用来检查这个?因为你的
资源
对象没有任何字段可以捕获非法字段
,所以即使在传入的JSON中传递非法字段
,它也不会伤害你的应用,对吗?事实上,我的应用不会受到伤害。但是,如果有误解,网络开发人员最好能立即得到反馈;比如发送postalCode
而不是zipCode
。如果请求失败而不是(部分)成功,那将是有益的。在这种情况下,您可以在资源中声明postalCode
为@Required
,并且无法提供像{“error:”missing field“,”desc:“'postalCode'Required”}这样的生成错误json,我不是一名泽西专家,但是看看它是否有用:如果您使用Jackson作为JSON提供程序,我认为默认情况下它应该对无法识别的字段抛出异常(除非配置为不这样做)。由于您的资源
对象没有任何字段可捕获非法字段
,因此即使传入的JSON中传递了非法字段
,它不会伤害你的应用,对吗?事实上,我的应用不会受到伤害。但是,如果有误解,网络开发人员最好能立即得到反馈;比如发送postalCode
而不是zipCode
。如果请求失败而不是(部分)成功,那将是有益的。在这种情况下,您可以在资源中声明postalCode
为@Required
,并且无法提供像{“error:”missing field“,”desc:“'postalCode'Required”}这样的生成错误json,我不是一名泽西专家,但是看看它是否有用:如果您使用Jackson作为JSON提供程序,我认为默认情况下它应该在无法识别的字段上抛出异常(除非配置为不这样做)。