我有一个招摇的春天启动应用程序.当我测试我的休息服务时,标题中没有utf-8字符,一切正常.Swagger生成命令,我可以使用它来测试它:
curl -X GET --header 'Accept: application/json' --header 'user: me' --header 'reason: zst' --header 'Authorization: Basic dG9tYXM6dG9tYXMxMjM=' 'http://localhost:8080/my-app/uuid/756531B55A3D029A0894D7C9C4ACDF3EC0'
Run Code Online (Sandbox Code Playgroud)
但当我在招摇时使用utf-8字符时,我没有得到任何回应.Swagger正在加载一些东西.当我查看firefox的控制台时,我看到一些get请求:
http://localhost:8080/my-app/webjars/springfox-swagger-ui/images/throbber.gif
Run Code Online (Sandbox Code Playgroud)
没有回应.
当我尝试编辑curl上面的命令时:
curl -X GET --header 'Accept: application/json' --header 'user: me' --header 'reason: žš?' --header 'Authorization: Basic dG9tYXM6dG9tYXMxMjM=' 'http://localhost:8080/my-app/uuid/756531B55A3D029A0894D7C9C4ACDF3EC0'
Run Code Online (Sandbox Code Playgroud)
一切正常,所以我猜我的后端没问题.有什么办法可以解决/调试这个问题吗?
我有一个JSON字符串,称为primarySkillStr:
[
{
"id": 3,
"roleIds": [
2
],
"rating": 2
}
]
Run Code Online (Sandbox Code Playgroud)
我尝试将其映射到对象,如下所示:
primarySkillList = mapper.readValue(primarySkillStr,
new TypeReference<List<PrimarySkillDTO>>() {});
Run Code Online (Sandbox Code Playgroud)
但是当Iam将其转换为a时List,roleIds列表为null。我是在做错什么,还是有其他办法?
这是我的DTO
public class PrimarySkillDTO {
private Integer id;
private Integer rating;
private List<Integer> roleIds;
private String name;
}
Run Code Online (Sandbox Code Playgroud)
我在PrimarySkillDTO课堂上有以下注释
@Data
@Builder
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
Run Code Online (Sandbox Code Playgroud)