Git Product home page Git Product logo

Comments (6)

JamesRandall avatar JamesRandall commented on July 19, 2024

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.

mcheruvu avatar mcheruvu commented on July 19, 2024

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:

  1. Remove any specific JSON contract resolvers, mainly in the CreateResponse method
  2. 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.

JamesRandall avatar JamesRandall commented on July 19, 2024

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.

mcheruvu avatar mcheruvu commented on July 19, 2024

from functionmonkey.

JamesRandall avatar JamesRandall commented on July 19, 2024

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.

mcheruvu avatar mcheruvu commented on July 19, 2024

from functionmonkey.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.