Creating a Team always returns an empty Team : Cannot get the ID of the created Team.
Describe the bug
Hello,
I'm using com.microsoft.graph:microsoft-graph:6.21.0 right now.
I'm trying to create a new team and then to get the ID, and the Operation ID of the result.
Team result = getGraphClient().teams().post(team);
The returned Team is always null as the JSON returned by the API is always empty. It seems that those informations are returned in the response header but I cannot access to it as the response is just a Team object. In v5, it was returned in the object.
How am I supposed to retrieve the ID and the Operation ID of a newly created Team ?
Expected behavior
I expected that the returned Team object will contain the ID and the Operation as it was the case in the v5 of this library.
How to reproduce
Create a team with the code :
Team result = getGraphClient().teams().post(team);
The result will always be a null object.
SDK Version
6.21.0
Latest version known to work for scenario above?
5.x
Known Workarounds
None
Debug output
Click to expand log
```</details>
### Configuration
_No response_
### Other information
_No response_
Hello,
I don't know if this is a bug or if I am supposed to do differently. Please can anyone help me ?
Regards
Hello,
Is there anyone on this github to help us ? This has been 3 weeks since I have posted my original message.
What are we supposed to do ? Stop using the Java SDK and call directly the REST API ?
Regards
Hi @ptrussart. My sincere apologies for the delayed response.
v6.x of this SDK tries to align better with expected API response payload. Creating a team is expected to return a 202 with no response body - reference docs
To inspect the response headers, you can override the default response handler to get an OkHttp Response object whose headers you can read. See the sample here
Please let me know if this helps.
Hello, In V5, this returned the id is as result. Why is it not the case in V6 ?
Hey, I faced the same issue and tried your suggestion as explained @Ndiritu. I was able to get the Headers with that.
However, the API is very irritating, since it still describes in the JavaDoc, like it did in V5, that a Team object is returned from the post request:
I guess, if this never is the case with v6 now, the return should be removed from the method, thus returning void, to reduce further irritations :)
Also if I want to get other information (e.g. the webUrl) with v6 after a post I always need to get the new team id by reading it from headers as described with NativeResponseHandler, read "content-location" from the headers and then do another get request for the new team with that id, is that correct?