Comments (6)
I'll take a look at it - certainly agree that would make sense but I've a (possibly unfounded) feeling that I did that for a reason... will take a look!
from functionmonkey.
Thank you, James, for the response.
I did try this but it did work only during the code generation and also for the Open API. However it did not take effect in actual azure functions, I can see that the entry point is different and JSON.NET defaulted back to CamelCase.
My proposal to fix this is:
- Remove any specific JSON contract resolvers, mainly in the CreateResponse method
- Allow some kind of bootstrap method (anonymous) method for any initiation logic during the setup method:
builder
.Setup((serviceCollection, commandRegistry) =>
{
serviceCollection.AddLogging();
serviceCollection.AddOptions();
serviceCollection.AddTransient<IValidator<LoginCmdInput>, LoginCmdInputValidator>();
commandRegistry.Register<LoginCmdHandler>();
**
JsonConvert.DefaultSettings = () => new JsonSerializerSettings()
{
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new SnakeCaseNamingStrategy(),
},
NullValueHandling = NullValueHandling.Ignore
};
**
})
I have tried this but this code did not get added into the function code generation.
Perhaps, a new method to facilitate this:
.FunctionBootstrap( ** () => {
** //or call another helper class/method and this logic will be ported to azure function static constructor
JsonConvert.DefaultSettings = () => new JsonSerializerSettings()
{
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new SnakeCaseNamingStrategy(),
},
NullValueHandling = NullValueHandling.Ignore
};
})
Thanks
Kris
from functionmonkey.
I've got a solution for this under development - hopefully drop in a few days.
Apologies it took me a while, I've been snowed under with client work.
from functionmonkey.
from functionmonkey.
Hopefully you'll find what you need in the enhancements I've just pushed to NuGet in v0.18.1
https://functionmonkey.azurefromthetrenches.com/guides/crosscutting/serialization.html
from functionmonkey.
from functionmonkey.
Related Issues (20)
- CamelCaseJsonSerializer does not work for ExpandoObject
- HttpResponseHandler not used for BadParameterResponse in http.csharp.handlebars HOT 1
- Receive and add CancellationToken to DI to enable for graceful shutdowns HOT 1
- Compiling Azure Functions with NuGet package dependencies fails HOT 13
- Problems with StorageQueue in 4.0.56-beta4 HOT 2
- Event Grid Triggers
- Unable to upload a file
- HowTo BeforeServiceProviderBuild HOT 1
- Solution Structure
- Http Trigger: AuthorizationLevel.Anonymous runs ClaimsPrincipalAuthorization but it should be ignored HOT 3
- How to access Cookie (and QueryString) collection ?
- Future of Function Monkey HOT 10
- Compiler Build Error with Entity Framework Core HOT 4
- Add Validators via Assembly search not working HOT 2
- Primitives / Arrays in HTTP body
- Need a way to access full HttpContext HOT 2
- FunctionMonkey.Compiler can't be built
- Accessing request headers
- Azure App Configuration in Configuration.
- CosmosDB lease container appears inoperable
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from functionmonkey.