I suggest you ...

API Explorer/Meta data enhancements

Building upon swagger feature, (but possibly re-engineering)

Support to include:
- complex (nested) DTO's and array
- markdown documentation (for detailed description)
- role/access based display (so only authorised endpoints are displayed)
- rebranding support
- ability to install nuget package without /docs folder (so as to get annotations, but not html in a model lib)

81 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Chris Mcvittie shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    5 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • Mike M commented  ·   ·  Flag as inappropriate

        Demis, I reviewed my DTO project and noticed that my DTOs have only one remaining dependency on ServiceStack.Api.Swagger: the SwaggerType static class. This has some string constants like SwaggerType.Int, SwaggerType.String that are used for the DataType property of the ApiMember attribute. Doesn't add any functionality, just prevents typos. I think in the past the ApiMember attribute and possibly others were in ServiceStack.Api.Swagger, but as you mentioned they were moved out of there a while ago. So the current state of things is better than I thought.

      • AdminDemis J Bellot (Developer, ServiceStack) commented  ·   ·  Flag as inappropriate

        Hi Mike, Can you provide more info on the dependency issue? All the Swagger Attributes are in ServiceStack.Interfaces.dll which is the only reference your DTOs should need. The Swagger Feature/Implementation itself is a ServiceStack plugin so it needs a reference to ServiceStack, but none of your DTOs should.

      • Mike M commented  ·   ·  Flag as inappropriate

        A related thought: currently, if you set up Swagger documentation for your DTOs, a client referencing your DTO assembly needs to add a dependency on ServiceStack.Api.Swagger, which in turn has direct or indirect dependencies on several ServiceStack assemblies. It would be great to have a DTO assembly support Swagger while only requiring a dependency on ServiceStack.Common.

      Feedback and Knowledge Base