Annotation Interface ApiGroup
No contrato atual da plataforma, @ApiGroup e usado para estabilizar a navegacao da
documentacao publica sem depender apenas da derivacao automatica pelo nome do controller ou
pelo path do recurso. Isso e especialmente util quando varios recursos pertencem ao mesmo
contexto de negocio e devem aparecer agrupados sob a mesma superficie OpenAPI.
Quando usar
- Quando o nome do grupo precisa refletir um bounded context de negocio, e nao apenas o path.
- Quando varios controllers devem compartilhar o mesmo agrupamento documental.
- Quando a plataforma publica docs por grupos estaveis consumidos por UI, recipes ou integradores.
Exemplo recomendado
@ApiResource(ApiPaths.HumanResources.FUNCIONARIOS)
@ApiGroup("human-resources")
public class FuncionarioController extends AbstractResourceController<...> {
// heranca + wiring do service
}
No exemplo acima, o grupo OpenAPI publicado passa a ser human-resources, o que ajuda a
manter uma URL de docs mais estavel, por exemplo /v3/api-docs/human-resources, mesmo
quando a convencao automatica derivada do nome da classe nao seria a mais adequada.
A anotacao nao altera o path REST do recurso. Ela afeta a organizacao documental e a resolucao de grupos feita pela infraestrutura OpenAPI do starter.
- See Also:
-
Required Element Summary
Required Elements
-
Element Details
-
value
String valueNome canônico do grupo OpenAPI para este controller.O valor informado sera usado como identificador do grupo na documentacao OpenAPI, aparecendo tipicamente em URLs no formato
/v3/api-docs/{value}e na resolucao de metadados documentais do recurso.Recomenda-se usar nomes estaveis e semanticamente claros, como
human-resources,catalogoureporting, evitando acoplamento acidental ao nome tecnico da classe.- Returns:
- o nome do grupo OpenAPI publicado para o controller
-