You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Kevin Doran (JIRA)" <ji...@apache.org> on 2018/05/29 14:57:00 UTC

[jira] [Updated] (NIFIREG-172) Add self-hosted Swagger UI to nifi-registry-web-api WAR

     [ https://issues.apache.org/jira/browse/NIFIREG-172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Doran updated NIFIREG-172:
--------------------------------
    Description: 
Currently in NiFi Registry, a detailed Swagger specification for the NiFi Registry REST API is being generated as part of the build. This is used for a number of things, including input into the REST API documentation handlebars.js templates and an input into downstream, community projects such as NiPyAPi [1].

The Swagger project also offers an Apache Licensed (ALv2) UI that consists of static html/js/css files that are capable of rendering any swagger.json specification in the form of a high-quality, interactive REST API documentation. The interactive nature of this UI makes it a very useful developer tool for testing backend changes to the REST API functionality without a standalone REST API test client. The Swagger UI project is hosted on GitHub [2]. There is also an online demo of the Swagger UI [3].

This ticket is to augment the maven build for the nifi-registry-web-api war to bundle those static Swagger UI assets, enabling our swagger.json that is already being generated to be exposed through the Swagger UI as an additional resource.

The swagger ui static assets should be hosted at /nifi-registry-api/swagger/* and a pseudo-resource type for "swagger" will have to be added to the authorization resource types in order to allow administrators to control user access, in a similar manner to the actuator endpoints.

[1] https://github.com/Chaffelson/nipyapi
[2] https://github.com/swagger-api/swagger-ui
[3] http://petstore.swagger.io/

  was:
Currently in NiFi Registry, a detailed Swagger specification for the NiFi Registry REST API is being generated as part of the build. This is used for a number of things, including input into the REST API documentation handlebars.js templates and an input into downstream, community projects such as NiPyAPi [1].

The Swagger project also offers an Apache Licensed (ALv2) UI that consists of static html/js/css files that are capable of rendering any swagger.json specification in the form of a high-quality, interactive REST API documentation. The Swagger UI project is hosted on GitHub [2]. There is also an online demo of the Swagger UI [3].

This ticket is to augment the maven build for the nifi-registry-web-api war to bundle those static Swagger UI assets, enabling our swagger.json that is already being generated to be exposed through the Swagger UI as an additional resource.

The swagger ui static assets should be hosted at /nifi-registry-api/swagger/* and a pseudo-resource type for "swagger" will have to be added to the authorization resource types in order to allow administrators to control user access, in a similar manner to the actuator endpoints.

[1] https://github.com/Chaffelson/nipyapi
[2] https://github.com/swagger-api/swagger-ui
[3] http://petstore.swagger.io/


> Add self-hosted Swagger UI to nifi-registry-web-api WAR
> -------------------------------------------------------
>
>                 Key: NIFIREG-172
>                 URL: https://issues.apache.org/jira/browse/NIFIREG-172
>             Project: NiFi Registry
>          Issue Type: Improvement
>            Reporter: Kevin Doran
>            Assignee: Kevin Doran
>            Priority: Minor
>             Fix For: 0.2.0
>
>
> Currently in NiFi Registry, a detailed Swagger specification for the NiFi Registry REST API is being generated as part of the build. This is used for a number of things, including input into the REST API documentation handlebars.js templates and an input into downstream, community projects such as NiPyAPi [1].
> The Swagger project also offers an Apache Licensed (ALv2) UI that consists of static html/js/css files that are capable of rendering any swagger.json specification in the form of a high-quality, interactive REST API documentation. The interactive nature of this UI makes it a very useful developer tool for testing backend changes to the REST API functionality without a standalone REST API test client. The Swagger UI project is hosted on GitHub [2]. There is also an online demo of the Swagger UI [3].
> This ticket is to augment the maven build for the nifi-registry-web-api war to bundle those static Swagger UI assets, enabling our swagger.json that is already being generated to be exposed through the Swagger UI as an additional resource.
> The swagger ui static assets should be hosted at /nifi-registry-api/swagger/* and a pseudo-resource type for "swagger" will have to be added to the authorization resource types in order to allow administrators to control user access, in a similar manner to the actuator endpoints.
> [1] https://github.com/Chaffelson/nipyapi
> [2] https://github.com/swagger-api/swagger-ui
> [3] http://petstore.swagger.io/



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)