title: Strange character in MockHttpServletRequest Swagger2 DeferredResult Â response
body: <p>Running a validation test and get these nasty characters embedded in the Swagger 2.0 validation output 
  <code>{"$ref":"#/definitions/DeferredResultÂ«ResponseEntityÂ«SummCollectionÂ»Â»"</code></p>
  
  <p>Controller method returns: <code>DeferredResult&lt;ResponseEntity&lt;SummCollection&gt;&gt;</code></p>
  
  <p>I just noticed as I'm writing the question: Actual: "&lt;" Crazy: "Â«"  </p>
  
  <p>Strange character in MockHttpServletRequest Swagger2 DeferredResult Â response </p>
  
  <p>This seems like an issue between "iso-8859-1" vs "utf-8" right? IDK. </p>
  
  <p>Question is what is causing SwaggerTest validateImplementationAgainstDesignSpec to read the file .yaml json just fine, but the MockMvc performs GET the response is contains these "Â" characters between the class names and delimiters. </p>
  
  <p>CODE CALL: </p>
  
  <p><code>
          MvcResult mvcResult = this.mockMvc.perform(get("/v2/api-docs?group=full-api") // 2
                  .accept(MediaType.APPLICATION_JSON)
                  .characterEncoding("application/json;charset=ISO-8859-1"))
                  .andDo(MockMvcResultHandlers.print())
                  .andExpect(status().isOk())
                  .andReturn();
  </code> </p>
  
  <p>I've debugged the code with the line <code>.characterEncoding("application/json;charset=ISO-8859-1"))</code> set to "UTF-8" and everything else in extreme (inclusive of "windows-1252").  This occurs on the Linux CI server, so it's not a winders thang. </p>
  
  <p>I've read about it being a <code>StringHttpMessageConverter</code> issue/symptom, but to no avail as how to fix from using MockMVC to call for Swagger2. </p>
  
  <p>OUTPUT:<br>
  <code>
  MockHttpServletResponse:
             Status = 200
      Error message = null
            Headers = {Content-Type=[application/json]}
       Content type = application/json
               Body = {"swagger":"2.0","info":{"description":"Some Description ","version":"1.0","title":"Sum-Server","license":{}},"host":"localhost","basePath":"/","tags":[{"name":"summ-service","description":"Summary Service"}],"paths":{"/api/v1/summ/{id}":{"get":{"tags":["device-summary-service"],"summary":"getDeviceSummaries","operationId":"getDeviceSummariesUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"type":"string"},{"name":"days","in":"query","description":"days","required":false,"type":"string"},{"name":"start","in":"query","description":"start","required":false,"type":"string"},{"name":"end","in":"query","description":"end","required":false,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/DeferredResultÂ«ResponseEntityÂ«SummCollectionÂ»Â»"}}}}}},"definitions":{"SummCollection":{"type":"object","properties":{"SummList":{"type":"array","items":{"$ref":"#/definitions/SummDateRange"}},"endDate":{"type":"string"},"prioritizedReportFamily":{"type":"integer","format":"int32"},"startDate":{"type":"string"}}},"DeferredResultÂ«ResponseEntityÂ«SummCollectionÂ»Â»":{"type":"object","properties":{"result":{"type":"object"},"setOrExpired":{"type":"boolean"}}}}}
  </code></p>