2016-05-13 43 views
0

我在Java中执行小型REST服务。@RequestBody中只允许存在的字段

我想从DTO发送有效的请求体,只能用现有油田:

public class ObjectDto implements Serializable { 

    private static final long serialVersionUID = 1L; 

    private String text; 

    public String getText() { 
     return text; 
    } 

    public void setText(String text) { 
     this.text = text; 
    } 
} 

Web服务生产和消费JSON。

@POST 
@Path("/{id}/objs") 
public Map<String, String> searchObject(@PathParam(NamedPathParameters.CUSTOMER_ID) String customerId, 
               @RequestBody ObjectDto obj) 

当我通过邮差测试了一下,有以下允许身体:

{ 
    "xcv":"" 
} 

它是需要禁止不是“文本”不同的密钥。我感觉这里有一个注释。我对吗?哪一个?我想避免条件:

if(key!="test") 

因为会有更多的字段,而不仅仅是一个。

+1

在这个问题上设置'DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES'到TRUE;如http://stackoverflow.com/questions/14343477/how-do-you-globally -set-杰克逊到忽略未知 - 属性 - 内弹簧 –

回答