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)

82 votes
Vote
Sign in
(thinking…)
Sign in with: facebook google
Signed in as (Sign out)
You have left! (?) (thinking…)
Chris Mcvittie shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

5 comments

Sign in
(thinking…)
Sign in with: facebook google
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