openapi-code-generator
Swashbuckle.AspNetCore
openapi-code-generator | Swashbuckle.AspNetCore | |
---|---|---|
5 | 16 | |
13 | 5,130 | |
- | - | |
8.8 | 9.3 | |
9 days ago | 2 days ago | |
TypeScript | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
openapi-code-generator
-
TypeSpec: A New Language for API-Centric Development
Whilst it's not as expressive/flexible as typespec, and in my experience it's not always well supported by tooling, you can do $ref's across files in openapi specifications.
Eg: https://github.com/mnahkies/openapi-code-generator/blob/main...
-
Show HN: Pre-alpha tool for analyzing spdx SBOMs generated by GitHub
I've become interested in SBOM recently, and found there were great tools like https://dependencytrack.org/ for CycloneDX SBOMs, but all I have is SPDX SBOMs generated by GitHub.
I decided to have a go at writing my own dependency track esque tool aiming to integrate with the APIs GitHub provides.
It's pretty limited in functionality so far, but can give a high level summary of the types of licenses your repository dependencies use, and let you drill down into potentially problematic ones.
Written in NextJS + mui + sqlite, and using another project of mine to generate most of the API boilerplate/glue (https://github.com/mnahkies/openapi-code-generator)
-
Show HN: Konfig – SDKs for APIs to write and maintain less API integration
Congratulations on launching, you have some interesting ideas in there.
Using a LLM to generate missing operation ids isn't something I've tried, instead I simply combine http method plus path segments which at least guarantees uniqueness [1]. I do a similar thing for extracting and naming inline schemas based on the operation and media types [2].
How do you prevent naming collisions? And do you find the resulting names to be significantly better than a deterministic approached like I described?
I'll definitely checkout the curated specifications - always useful to get more high quality (and hopefully varied) specifications to test my code generator with, and the lint rules is a great idea - I've had to explain what patterns lend themselves well to code generation many times.
I'm on mobile so may have missed it, but looking at one of your typescript examples I couldn't see any runtime response body validation, is this something you're thinking about?
- [1] https://github.com/mnahkies/openapi-code-generator/blob/main...
-
Write OpenAPI with TypeSpec
Yeah I'm also on the schema first side of the debate.
I think for me it comes down to a few key points:
- APIs are forever, the choice of language/framework is an implementation detail
- Constraining yourself to what can be represented in the specification is better than generating a specification from implementation that may not be capable of expressing the full details
- When working with diverse languages it provides a common ground/language for discussing API changes. Eg: if you have java backend, kotlin android, swift iOS, react/whatever web you can bring everyone together with the spec
- Subjective, but a good spec will include a bunch of documentation and examples that tend to create a lot of noise in the code. I personally prefer to keep this in the spec and the implementation smaller
I think the main counterpoint to this is that you can generate the spec and then take that and change your mind if you later change language/framework etc - it's not a one-way door.
My biggest bug bear is that regardless of spec first or implementation first, you should have something you write once and generate the rest of the glue from (eg: docs, client sdks). Writing each piece manually/independently always leads to drift and bugs.
(I'm working on my own little openapi -> typescript code generator over here https://github.com/mnahkies/openapi-code-generator - eventually plan to support more than typescript, and adding typespec support is something I'm currently considering)
Swashbuckle.AspNetCore
- TypeSpec: A New Language for API-Centric Development
-
Advantages and disadvantages of FastEndpoints
It isn't where it needs to be. Notably, it cannot out-of-the-box handle open generic data types. There's also plenty of issues logged for this library. - Personally, that makes me think the approach is overly complicated and doesn't do its job as well as it should.
-
Web API Swagger to File Error Net 6
I have been checking all the sites about web api swagger to file but it seems theres some issue exporting swagger file on net 6.. any one can help us on this issue? https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2585
-
App Service Memory jump. This app service barely gets used. It's running on a B3 plan with some other small app services that also have a graph like this but at different times. These are all .Net, C#, and running on Linux. Any ideas on what might do this or how I'd track it down?
Also, there are multiple open bugs regarding memory utilization issues with Swagger, such as this one.
-
Update Swashbuckle.AspNetCore Version from version"4.0.1" to "6.2.3"
Hi there. I had an interesting task: to update the Swashbuckle.AspNetCore version from "4.0.1" to "6.2.3". It looked very simple but it was not what it looked like. The main problem was breaking changes which happened when passing from version 4 to version 5. Swashbuckle.AspNetCore began to use Swagger/OpenAPI version v3 instead of OpenAPI v2. The project makes use of NSwag to generate httpClient for getting data from another microservice. Any attempt to regenerate auto generated code changed it after updating Swashbuckle.AspNetCore version. These caused a lot of build errors. I should have decreased differencies between the new code and old one. Main difference which cause incompatibility in the project were:
-
Authenticate Next.js SPA with ASP.NET 6 Identity and Duende Identity Server Part 1
Swashbuckle Github repo
-
OpenAPI extensions and Swashbuckle
Swashbuckle.AspNetCore
-
dotnet swagger tofile : FileNotFoundException dotnet-swagger.xml
Trying to generate swagger from the compiled dll using this command with the swagger CLI:
-
A Developer's Guide to CQRS Using .NET Core and MediatR
Swashbuckle Swagger
-
Organize code by concepts, not layers
That’s exactly what I meant. There’s about 0 maintenance required most of the time. Take a look at their official nuget GitHub page. This should work out of the box with ASP.NET core 3.0 and greater. For 5.0 onwards, the MVC template comes pre-configured with it.
What are some alternatives?
swagger-core - Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API
api-guidelines - Microsoft REST API Guidelines
SPA-Identity-Server-Authenticate-Sample - SPA Identity Server Authenticate Sample
swagger-petstore - swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
opentelemetry-specification - Specifications for OpenTelemetry
cqrs-with-net-core-mediatr
SpaceEmporium - Simple API Versioning in ASP.NET Core
MediatR - Simple, unambitious mediator implementation in .NET
aspnet-api-versioning - Provides a set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.
CleanArchitectureApp - Clean Architecture Application Design from Scratch using Dotnet Core 5 WebApi and Angular 11 FrontEnd
Result - A result abstraction that can be mapped to HTTP response codes if needed.
nocode - The best way to write secure and reliable applications. Write nothing; deploy nowhere.