List of usage examples for org.springframework.restdocs.payload FieldDescriptor getPath
public final String getPath()
From source file:capital.scalable.restdocs.jackson.ExtendedFieldDescriptor.java
public ExtendedFieldDescriptor(FieldDescriptor descriptor) { this.path = descriptor.getPath(); this.type = descriptor.getType(); this.optionals = (List<String>) descriptor.getAttributes().get(OPTIONAL_ATTRIBUTE); this.description = descriptor.getDescription(); this.constraints = (List<String>) descriptor.getAttributes().get(CONSTRAINTS_ATTRIBUTE); }
From source file:org.springframework.restdocs.payload.FieldSnippetResultHandler.java
FieldSnippetResultHandler(String outputDir, String filename, List<FieldDescriptor> descriptors) { super(outputDir, filename + "-fields"); for (FieldDescriptor descriptor : descriptors) { Assert.notNull(descriptor.getPath()); Assert.hasText(descriptor.getDescription()); this.descriptorsByPath.put(descriptor.getPath(), descriptor); }// w w w . j a v a 2 s . c o m this.fieldDescriptors = descriptors; }
From source file:org.springframework.restdocs.payload.FieldValidator.java
private Map<String, Object> findUndocumentedFields(Map<String, Object> payload, List<FieldDescriptor> fieldDescriptors) { for (FieldDescriptor fieldDescriptor : fieldDescriptors) { String path = fieldDescriptor.getPath(); List<String> segments = path.indexOf('.') > -1 ? Arrays.asList(path.split("\\.")) : Arrays.asList(path); removeField(segments, 0, payload); }// w w w.j a va2 s. com return payload; }
From source file:capital.scalable.restdocs.snippet.StandardTableSnippet.java
protected Map<String, Object> createModelForDescriptor(FieldDescriptor descriptor, String lineBreak) { String path = descriptor.getPath(); String type = toString(descriptor.getType()); String description = convertFromJavadoc(toString(descriptor.getDescription()), lineBreak); List<String> optionalMessages = (List<String>) descriptor.getAttributes().get(OPTIONAL_ATTRIBUTE); String optional = "" + join(optionalMessages, lineBreak); List<String> constraints = (List<String>) descriptor.getAttributes().get(CONSTRAINTS_ATTRIBUTE); description = joinAndFormat(lineBreak, description, constraints); Map<String, Object> model = new HashMap<>(); model.put("path", path); model.put("type", type); model.put("optional", optional); model.put("description", description); return model; }
From source file:capital.scalable.restdocs.payload.AbstractJacksonFieldSnippet.java
private void resolveFieldDescriptors(Map<String, FieldDescriptor> fieldDescriptors, Type type, ObjectWriter writer, TypeFactory typeFactory, JavadocReader javadocReader, ConstraintReader constraintReader) throws JsonMappingException { FieldDocumentationGenerator generator = new FieldDocumentationGenerator(writer, javadocReader, constraintReader);/* www. j a va2s .c om*/ List<FieldDescriptor> descriptors = generator.generateDocumentation(type, typeFactory); for (FieldDescriptor descriptor : descriptors) { if (fieldDescriptors.get(descriptor.getPath()) == null) { fieldDescriptors.put(descriptor.getPath(), descriptor); } } }
From source file:org.springframework.restdocs.payload.JsonContentHandler.java
@Override public String getUndocumentedContent(List<FieldDescriptor> fieldDescriptors) { Object content = readContent(); for (FieldDescriptor fieldDescriptor : fieldDescriptors) { JsonFieldPath path = JsonFieldPath.compile(fieldDescriptor.getPath()); this.fieldProcessor.remove(path, content); }//from ww w .j a v a 2s .c o m if (!isEmpty(content)) { try { return this.objectMapper.writeValueAsString(content); } catch (JsonProcessingException ex) { throw new PayloadHandlingException(ex); } } return null; }
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 .ja v a 2 s .co m*/ } return missingFields; }
From source file:org.springframework.restdocs.payload.JsonContentHandler.java
@Override public Object determineFieldType(FieldDescriptor fieldDescriptor) { if (fieldDescriptor.getType() == null) { return this.fieldTypeResolver.resolveFieldType(fieldDescriptor.getPath(), readContent()); }/*ww w . j a va 2s . co m*/ if (!(fieldDescriptor.getType() instanceof JsonFieldType)) { return fieldDescriptor.getType(); } JsonFieldType descriptorFieldType = (JsonFieldType) fieldDescriptor.getType(); try { JsonFieldType actualFieldType = this.fieldTypeResolver.resolveFieldType(fieldDescriptor.getPath(), readContent()); if (descriptorFieldType == JsonFieldType.VARIES || descriptorFieldType == actualFieldType) { return descriptorFieldType; } throw new FieldTypesDoNotMatchException(fieldDescriptor, actualFieldType); } catch (FieldDoesNotExistException ex) { return fieldDescriptor.getType(); } }
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 ww w . j av a 2 s . c o m*/ } 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()); }//from w w w. j av a 2 s .co 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()); } } }); }