【问题标题】:Local polish character support for return type of api in spring bootSpring Boot 中对返回类型 api 的本地波兰语字符支持
【发布时间】:2019-04-30 19:19:59
【问题描述】:

我使用的是 springboot 版本 = 1.5.13.RELEASE。 如果我通过第一种方式在响应实体中使用对象返回数据,则返回字符 Ã 作为 Ã\u008d 如果我通过第二种方式使用 ObjectMapper 将对象转换为字符串并将其作为字符串的响应实体返回,则它会正确返回字符 Ã as Ã。 如果我在 ResponseEntity 中使用对象作为输出,您能否请教为什么会出现问题。 我需要做任何配置吗?我还尝试使用 (.contentType(MediaType.APPLICATION_JSON_UTF8)) 使用 UTF-8 的 MimeType,但它也不起作用。 请帮忙

1) ResponseEntity 中的返回对象

 @GetMapping("v1/testAPI")
            @CrossOrigin(origins = "*") 
            public ResponseEntity<TESTClass> gettstDetails(@RequestParam(value = "param", required = false) String param){
    TESTClass objTESTClass= new TESTClass();
 objTESTClass.setOutputA("-BRASÃLIA BR");

 return ResponseEntity.ok(objTESTClass) ;
        }

1) 在ResponseEntity中返回字符串

     @GetMapping("v1/testAPI")
                    @CrossOrigin(origins = "*") 
                    public ResponseEntity<String> gettstDetails(@RequestParam(value = "param", required = false) String param){
            TESTClass objTESTClass= new TESTClass();
         objTESTClass.setOutputA("-BRASÃLIA BR");
     ObjectMapper objectMapper = new ObjectMapper();

return ResponseEntity.ok( objectMapper.writeValueAsString(objTESTClass));
                }

我的 TESTClass 如下所示

public class TESTClass{
    @JsonProperty("outputA")
    private String outputA;
    @JsonProperty("outputB")
    private String outputB;

    public String getOutputA() {
        return outputA;
    }

    public void setOutputA(String outputA) {
        this.outputA= outputA;
    }

    public String getOutputB() {
        return outputb;
    }

    public void setOutputB(String outputb) {
        this.outputB= outputB;
    }
}

【问题讨论】:

    标签: spring-boot response multilingual polish


    【解决方案1】:

    问题通过使用下面的代码解决,然后是下面的线程 Java Spring resttemplate character encoding

    RestTemplate objRestTemplate = new RestTemplate();

    objRestTemplate.getMessageConverters()
                    .add(0, new StringHttpMessageConverter(Charset.forName(UaofConstants.UTF_8)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-20
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多