phoenixnap / springmvc-raml-plugin

Spring MVC - RAML Spec Synchroniser Plugin. A Maven plugin designed to Generate Server & Client code in Spring from a RAML API descriptor and conversely, a RAML API document from the SpringMVC Server implementation.
Apache License 2.0
136 stars 84 forks source link

displayName overrides real name when generating code #177

Closed stojsavljevic closed 7 years ago

stojsavljevic commented 7 years ago

When generating code from raml that has displayName set on headers, queryParameters or uriParameters, displayName will be used in generated code instead of real parameter name.

Example raml:

#%RAML 1.0

description: Showcase for bug with displayName
title: displayName bug

/a_resource:
  get:
    headers:
      header_string_param:
         type: string
         displayName: headerStrDisplayName

will, for example, generate endpoint like this:

@RequestMapping(value = "", method = RequestMethod.GET)
public ResponseEntity<?> getAResource(
    @RequestHeader(name = "headerStrDisplayName")
    String headerStrDisplayName) {
    return this.aResourceControllerDelegate.getAResource(headerStrDisplayName);
}
stojsavljevic commented 7 years ago

displayName should be used for name of Java variable (as in the example above). But original parameter name should be a value of name attribute in @RequestHeader annotation. Same logic applies for uri, query and form parameters.