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