Response body not parsed for 202 -- doesn't match HTTP spec or Graph API behavior
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 52/100
Direção de pesquisa
Comece em src/main/java/com/microsoft/graph/http/CoreHttpProvider.java, na chamada de handleEmptyResponse() vinculada na issue, e depois reproduza a solicitação copyNotebook mostrada no exemplo em Java. Está concluído quando uma resposta 202 Accepted preenche os campos de OnenoteOperation retornado, incluindo seu id, para que o status da operação possa ser consultado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When the response code of an API call is 202 Accepted, then CoreHttpProvider calls handleEmptyResponse(), which ignores the response body.
This causes the copyNotebook operation in the microsoft-graph jar to return an OnenoteOperation object with all null properties, and so the id can't be used to query the operation's status.
The HTTP spec for 202 says "The representation sent with this response ought to describe the request's current status and point to (or embed) a status monitor that can provide the user with an estimate of when the request will be fulfilled." so I believe the API itself is behaving correctly/within the spec and that it is this project that is incorrectly assuming that a 202 response will not have any body content.
Expected behavior
graphClient.sites(site.id).onenote().notebooks(notebook.id).copyNotebook(params).buildRequest().post(); returns a OnenoteOperation with fields populated from the response body.
Actual behavior
graphClient.sites(site.id).onenote().notebooks(notebook.id).copyNotebook(params).buildRequest().post(); returns a OnenoteOperation with all fields set to null.
Steps to reproduce the behavior
SiteRequestBuilder siteRequestBuilder = graphClient.sites(site.id);
OnenoteOperation operation = siteRequestBuilder.onenote().notebooks(notebook.id).copyNotebook(params).buildRequest().post();
// operation.id is null here, so the following line fails:
operation = siteRequestBuilder .onenote().operations(operation.id).buildRequest().get();
- Linguagem predominante
- Java
- Estrelas
- 67
- Forks
- 34
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
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 microsoftgraph/msgraph-sdk-java-core
-
upgrade to okhttp 5 Abertaenhancement help wanted
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
-
enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
microsoftgraph/msgraph-sdk-java-core#1587 · 2 comentários ·
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
-
Add support for OSGI bundles Abertaenhancement kiota
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
microsoftgraph/msgraph-sdk-java-core#414 · 12 comentários ·
Todas as issues de microsoftgraph/msgraph-sdk-java-core
Issues semelhantes
-
Bug Java Platform: Java
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
getsentry/sentry-java#6138 · 1 comentário ·
-
bug needs triage p2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
GoogleCloudPlatform/DataflowTemplates#4273 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
bug needs triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100