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)

80 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Chris Mcvittie shared this idea  ·   ·  Admin →

    5 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Mike M commented  · 

        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  · 

        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  · 

        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