Stable API
Nesta página
Observação
O recurso API estável requer MongoDB Server 5.0 ou posterior.
Visão geral
Neste guia, você pode aprender como especificar a compatibilidade de stable API ao se conectar a uma implementação do MongoDB .
O recurso Stable API força o servidor a executar operações com comportamentos compatíveis com a versão da API especificada. O uso da Stable API garante respostas consistentes do servidor e oferece estabilidade de API a longo prazo para seu aplicação.
As seções a seguir descrevem como você pode habilitar e personalizar stable API para seu cliente MongoDB . Para obter mais informações sobre a stable API, incluindo uma lista dos comandos suportados, consultestable API no manual do MongoDB Server .
Habilitar a stable API
Para habilitar a stable API, execute as seguintes etapas:
Construa um objeto
ServerApi
e especifique uma versão de stable API . Você deve usar uma versão de stable API definida no enumServerApiVersion
.Construa um objeto
MongoClientSettings
usando a classeMongoClientSettings.Builder
.Instancie um
MongoClient
utilizando o métodoMongoClients.create()
e passe sua instância doMongoClientSettings
como um parâmetro.
O seguinte exemplo de código mostra como especificar stable API a versão 1:
ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build(); // Replace the placeholder with your Atlas connection string String uri = "<connection string URI>"; MongoClientSettings settings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(uri)) .serverApi(serverApi) .build(); try (MongoClient mongoClient = MongoClients.create(settings)) { // Perform client operations here }
Depois de criar uma instância MongoClient
com a Stable API, todos os comandos que você executa com o cliente usam a configuração de Stable API especificada. Se você precisar executar comandos usando configurações alternativas, crie um novo MongoClient
.
Configurar a stable API
A tabela a seguir descreve métodos encadeáveis da classe ServerApi.Builder
que você pode usar para personalizar o comportamento da Stable API.
Nome da opção | Descrição |
---|---|
strict() | Optional. When true , if you call a command that isn't part of
the declared API version, the driver raises an exception.Default: false |
deprecationErrors() | Optional. When true , if you call a command that is deprecated in the
declared API version, the driver raises an exception.Default: false |
O seguinte exemplo de código mostra como você pode configurar uma instância do ServerApi
encadeando métodos no ServerApi.Builder
:
ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .strict(true) .deprecationErrors(true) .build();
Solução de problemas
Campo 'apiVersion' não reconhecido no servidor
O driver do Java Reactive Streams gera essa exceção se você especificar uma versão da API e se conectar a um servidor MongoDB que não ofereça suporte à Stable API. Certifique-se de que está se conectando a uma implantação executando o MongoDB Server v5.0 ou posterior.
Fornecido apiStrict:true, mas o comando <operation> não está na versão da API
O driver Java Reactive Streams gera essa exceção se seu MongoClient
executar uma operação que não esteja na versão da Stable API especificada. Para evitar esse erro, use uma operação alternativa compatível com a versão da Stable API especificada ou defina a opção strict
como False
ao criar seu objeto ServerApi
.
Documentação da API
Para obter mais informações sobre como usar a Stable API com o driver Java Reactive Streams, consulte a seguinte documentação da API :