gpt4 book ai didi

spring-boot - Springboot swagger 与 JsonView

转载 作者:行者123 更新时间:2023-12-01 17:45:42 24 4
gpt4 key购买 nike

可以将 swagger 与 @JsonView 集成吗?我有一个模型,我使用 @JsonView 仅返回几个字段,但 swagger-ui 显示孔模型。

这是我的模型:

public class Intimacao extends EntityBase {
@Embedded
@JsonView({View.Intimacao_Lista.class})
private Devedor devedor;
@Embedded
private Sacador sacador;
@Embedded
private Apresentante apresentante;
@Embedded
private Titulo titulo;

}

这是我的 Controller :

@GetMapping("/")
@PreAuthorize("hasRole('ADMINISTRADOR') or hasRole('MOTOBOY')")
@JsonView({View.Intimacao_Lista.class})
public List<Intimacao> listar(Principal principal){
System.out.println(principal.getName());
return null;
}

这是 swagger-ui 中的结果

[
{
"apresentante": {
"documento": "string",
"nome": "string"
},
"devedor": {
"bairro": "string",
"cep": "string",
"cidade": "string",
"complemento": "string",
"documento": "string",
"estado": "string",
"logradouro": "string",
"nome": "string",
"numero": "string",
"tipoLogradorouo": "string"
},
"id": 0,
"sacador": {
"chave": "string",
"documento": "string",
"especie": "string",
"nome": "string"
},
"titulo": {
"custas1": 0,
"custas2": 0,
"custas3": 0,
"custas4": 0,
"custas5": 0,
"custas6": 0,
"custas7": 0,
"custas8": 0,
"custas9": 0,
"numero": "string",
"vencimento": "string"
}
}
]

但是如果我 GET 我的 API 只会返回 devedor 属性,因为 @JsonView

最佳答案

It's possible to integrate the swagger with @JsonView?

是的(部分)

此后pull request已合并,您可以将其用于:

响应对象(您已使该部分正常工作)。

@GetMapping("/")
@PreAuthorize("hasRole('ADMINISTRADOR') or hasRole('MOTOBOY')")
@JsonView({View.Intimacao_Lista.class})
public List<Intimacao> listar(Principal principal){
System.out.println(principal.getName());
return null;
}

RequestBody 对象(还没有,拉取请求正在路上,请参阅 #2918comment at #2079 中的示例)。对于您的情况:

@GetMapping("/")
@PreAuthorize("hasRole('ADMINISTRADOR') or hasRole('MOTOBOY')")
@JsonView({View.Intimacao_Lista.class})
// replace `Views.Principal.class` for the proper value
public List<Intimacao> listar(@JsonView(Views.Principal.class) Principal principal){
System.out.println(principal.getName());
return null;
}

关于spring-boot - Springboot swagger 与 JsonView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60868941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com