[ 
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)

Reply via email to