我正在使用 springboot 版本 = 1.5.13.RELEASE。如果我通过第一种方式使用响应实体中的对象返回数据,则它返回字符 Ã 作为Ã\u008d 并且如果我通过第二种方式使用 ObjectMapper 将对象转换为字符串并将其作为字符串的响应实体返回,则返回字符Ã正确的。如果我在 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;
}
}