Example usage for org.springframework.restdocs.payload FieldDescriptor isOptional

List of usage examples for org.springframework.restdocs.payload FieldDescriptor isOptional

Introduction

In this page you can find the example usage for org.springframework.restdocs.payload FieldDescriptor isOptional.

Prototype

public final boolean isOptional() 

Source Link

Document

Returns true if the described field is optional, otherwise false .

Usage

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());
            }

        }

    });

}