swagger-api / swagger-api/swagger-codegen

Publish supported features matrix for all clients

Open
#4,951 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

General: Suggestion
Dominant language
Mustache
Stars
17.8k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

This is an improvement request.

My first adventure into Swagger and I'm finding massive inconsistencies between the different language implementations. What makes this extremely frustrating is that the code generator will generate stuff that isn't actually functional. For example, the Java client generator doesn't support inheritance. It happily generates a useless class instead. Objective-C supports inheritance but it doesn't support enums. Again, it will happily generate useless placeholders for the enums that have no data and break the client.

I'm finding this by trial and error by manually writing tests (the tests generated by swagger-codegen are pretty much useless without some way to specify sample input values)

It would have saved me loads of time if there was a supported feature matrix that showed which features are supported by each client and suggested workarounds. I will happily contribute to this matrix.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inventorying the language implementations and the generator behavior described in the issue, including Java inheritance and Objective-C enums. Use manually written tests with sample input values to verify each feature. Done means a supported feature matrix covers all clients and records useful workarounds.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, objective-c
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.