VectorSearchFilter.filter serializes as null causing HTTP 400 from AI Core API
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 52/100
Direção de pesquisa
Comece com VectorSearchFilter e inspecione como seu campo filter é serializado; em seguida, compare o ObjectMapper padrão de ApiClient com a solução alternativa personalizada NON_NULL descrita na issue. Reproduza a requisição de VectorApi.search() e confirme que um filter não definido é omitido e que a AI Core API não retorna mais HTTP 400.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the Problem/Bug
When using VectorApi.search(), the VectorSearchFilter class has a filter field annotated with @JsonProperty("filter") but without @JsonInclude(JsonInclude.Include.NON_NULL). When filter is not set (the
common case), it serializes as "filter": null in the JSON request body.
The AI Core API rejects this with HTTP 400:
{"error": {"code": "400", "message": "None is not valid under any of the given schemas - 'filters.0.filter'"}}
Steps to Reproduce
var filter = VectorSearchFilter.create()
.id(UUID.randomUUID().toString())
.collectionIds(List.of("*"))
._configuration(VectorSearchConfiguration.create().maxDocumentCount(5));
var request = TextSearchRequest.create()
.query("some query")
.filters(filter);
vectorApi.search(resourceGroupId, request); // → HTTP 400
Actual request body sent:
{
"query": "some query",
"filters": [{
"id": "...",
"collectionIds": ["*"],
"configuration": {"maxDocumentCount": 5},
"collectionMetadata": [],
"documentMetadata": [],
"chunkMetadata": [],
"filter": null
}]
}
Expected Behavior
filter should be omitted from the serialized JSON when not set, either via @JsonInclude(JsonInclude.Include.NON_NULL) on the field, or by configuring the SDK's default ObjectMapper with
NON_NULL inclusion.
Workaround: Construct the VectorApi with a custom ApiClient using an ObjectMapper configured with JsonInclude.Include.NON_NULL.
Screenshots
No response
Used Versions
SDK version: 1.19.0
Spring AI version: 1.1.5
Code Examples
// Your code here
Stack Trace
No response
Log File
Log file
...Affected Development Phase
Getting Started
Impact
No Impact
Timeline
No response
- Linguagem predominante
- Java
- Estrelas
- 43
- Forks
- 25
- Merge médio
- 20h 45min
- PRs com merge (30d)
- 56
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de SAP/ai-sdk-java
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 55/100
SAP/ai-sdk-java#1129 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
SAP/ai-sdk-java#1112 ·
Mantenedores costumam responder em até 1 dia
-
feature request
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
SAP/ai-sdk-java#984 · 3 comentários · 3 reações ·
Mantenedores costumam responder em até 1 dia
-
feature request
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
SAP/ai-sdk-java#539 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
feature request
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
SAP/ai-sdk-java#494 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de SAP/ai-sdk-java
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
apache/rocketmq-dashboard#6896 ·
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
-
Unrecognized database schema version is treated as a pre-2.0 databaseTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
OpenIntegrationEngine/engine#496 ·
Mantenedores costumam responder em até 1 dia
-
enhancement good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
SasanLabs/VulnerableApp#836 ·
Mantenedores costumam responder em até 1 dia