OpenAPI.NET.OData icon indicating copy to clipboard operation
OpenAPI.NET.OData copied to clipboard

Tag contain only entiy set name

Open SenyaMur opened this issue 5 years ago • 7 comments

In Net.Core 2.x swagger generated OpenApi paths contained tags only with entity set name i.e. controller name. It was very convenient for grouping all paths by Entity set.

TagDepth settings does not do what I whant.

How can add this feature? To Add new settings to OpenApiConvertSettings?

SenyaMur avatar Jan 15 '20 10:01 SenyaMur

Go ahead with the new setting and let's have a discussion based on your draft.

xuzhg avatar Jan 16 '20 23:01 xuzhg

@senyaMur Actually, what i though is to use the Dependency Injection to inject all the element generator/provider. Then, customer can override the default implement and provide their own.

I'd like to refactor the whole codes when i have better design.

xuzhg avatar Jan 16 '20 23:01 xuzhg

Can you show example code where customer overriding the default implement?

SenyaMur avatar Jan 17 '20 04:01 SenyaMur

Did you mean

var context = new ODataContext(edmModel);
context.OperationHanderProvider = NewOperationHanderProvider; // Override OperationHandler 

Right?

SenyaMur avatar Jan 17 '20 07:01 SenyaMur

@SenyaMur yes. That's part of my original thought. But, that's not finished yet and not productive.

So, i agree to add a config into the setting and enable your requirement.

xuzhg avatar Jan 17 '20 19:01 xuzhg

Thank you @xuzhg ! May be to create tags generation for change behaivour in one point?

SenyaMur avatar Jan 17 '20 19:01 SenyaMur

I basically done this after document generation.

        foreach (var path in document.Paths.Values)
        {
            foreach (var operation in path.Operations.Values)
            {
                // Fix overblown tag names
                foreach (var tag in operation.Tags)
                    tag.Name = tag.Name.Split('.').First();
           }
        }

sherlock1982 avatar Mar 11 '22 18:03 sherlock1982