List of usage examples for org.springframework.restdocs.payload FieldDescriptor isOptional
public final boolean isOptional()
From source file:org.springframework.restdocs.payload.FieldValidator.java
private List<String> findMissingFields(Map<String, Object> payload, List<FieldDescriptor> fieldDescriptors) { List<String> missingFields = new ArrayList<String>(); for (FieldDescriptor fieldDescriptor : fieldDescriptors) { if (!fieldDescriptor.isOptional() && !this.fieldExtractor.hasField(fieldDescriptor.getPath(), payload)) { missingFields.add(fieldDescriptor.getPath()); }//from w w w .j a v a 2s.c o m } return missingFields; }
From source file:org.springframework.restdocs.payload.JsonContentHandler.java
@Override public List<FieldDescriptor> findMissingFields(List<FieldDescriptor> fieldDescriptors) { List<FieldDescriptor> missingFields = new ArrayList<>(); Object payload = readContent(); for (FieldDescriptor fieldDescriptor : fieldDescriptors) { if (!fieldDescriptor.isOptional() && !this.fieldProcessor.hasField(JsonFieldPath.compile(fieldDescriptor.getPath()), payload)) { missingFields.add(fieldDescriptor); }/*from w ww . j a v a2 s.c om*/ } return missingFields; }
From source file:org.springframework.restdocs.payload.FieldSnippetResultHandler.java
@Override protected void handle(MvcResult result, DocumentationWriter writer) throws IOException { this.fieldValidator.validate(getPayloadReader(result), this.fieldDescriptors); final Map<String, Object> payload = extractPayload(result); List<String> missingFields = new ArrayList<String>(); for (FieldDescriptor fieldDescriptor : this.fieldDescriptors) { if (!fieldDescriptor.isOptional()) { Object field = this.fieldExtractor.extractField(fieldDescriptor.getPath(), payload); if (field == null) { missingFields.add(fieldDescriptor.getPath()); }// ww w.j a va 2 s . c o m } } writer.table(new TableAction() { @Override public void perform(TableWriter tableWriter) throws IOException { tableWriter.headers("Path", "Type", "Description"); for (Entry<String, FieldDescriptor> entry : FieldSnippetResultHandler.this.descriptorsByPath .entrySet()) { FieldDescriptor descriptor = entry.getValue(); FieldType type = descriptor.getType() != null ? descriptor.getType() : FieldSnippetResultHandler.this.fieldTypeResolver .resolveFieldType(descriptor.getPath(), payload); tableWriter.row(entry.getKey().toString(), type.toString(), entry.getValue().getDescription()); } } }); }