-
Notifications
You must be signed in to change notification settings - Fork 10.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
services.AddControllers().AddNewtonsoftJson() doesn't override System.Text.Json #13564
Comments
Thanks for contacting us, @scalablecory. |
@scalablecory do you have a sample application that reproduces the error? |
@Yannick183 is the author of the issue, I just moved it :). @Yannick183 do you have a repro? |
@Yannick183 did you make sure you're using the most recent preview versions of all NuGet packages? I was experiencing the same issue when I tried to upgrade my ASP.NET Core 3.0 preview 3 app to preview 8. But when trying to make a sample application repro to assist with this issue, I realized that my old app was still using the preview 3 version of Microsoft.AspNetCore.Mvc.NewtonsoftJson. After upgrading everything works again. Give that a try if you haven't? |
OK now I feel stupid. @remyjette I realized I didn't have I don't know why I couldn't find the package from NuGet GUI though. You can see below that the search term doesn't provide any result for Using Visual Studio 2019 16.3.0 Preview 2.0 |
Thanks for following up @Yannick183. I'm glad you found the solution; this is great feedback for ways we might improve documentation. |
Just ran into this myself; I have to say, it's very strange that the
Either way, while you're right, it would be nice if the documentation properly explained how this should work, it would be even nicer if the code didn't let developers get into this baffling situation. |
Same problem here. Installing the Microsoft.AspNetCore.Mvc.NewtonsoftJson fixed the issue. I couldn't find the package in the GUI either. |
Why not move the method AddNewtonsoftJson to Microsoft.AspNetCore.Mvc.NewtonsoftJson? Since this is a extension method anyway? Spend a good amount of time figuring out why the upgraded project from 2.2 to 3 isn't working with JsonConverter Attribute. Finally saw this issue and installing Microsoft.AspNetCore.Mvc.NewtonsoftJson fixed it. |
See https://stackoverflow.com/a/59237265/1162622 Obviously |
From @Yannick183 on Wednesday, August 28, 2019 8:16:27 AM
Issue Title
services.AddControllers().AddNewtonsoftJson() doesn't seem to override System.Text.Json
General
I tried to upgrade a WebAPI project from dotnetcore 2.2 to version 3 but I'm facing some issues with Json serialization.
Using version 3.0.100-preview8-013656, I tried to override System.Text.Json by adding this to
ConfigureServices
Some of my controller endpoints fail with a HTTP500 error because of some circular references that should have been prevented by the
[JsonIgnore]
attribute. The error is the following :System.Text.Json.JsonException: CurrentDepth (32) is equal to or larger than the maximum allowed depth of 32.
As you can see, the error comes from
System.Text.Json.JsonException
which I suspect means that Newtonsoft.Json isn't used by the controller to serialize the response.I use
ModelMetadataType
to add[JsonIgnore]
to some attributes like this. I even tried addingSystem.Text.Json.Serialization.JsonIgnore
to the property but without any result.Copied from original issue: dotnet/core#3269
The text was updated successfully, but these errors were encountered: