There is obvious room for improvement, where instead of appending ".id" we propagate a user-supplied property.
For example "/rests.id" would become "RFC8040 RESTCONF" or similar. Similarly "/.well-known.id" would become "RFC6415 Web Host Metadata" and "/apidoc.id" would become "OpenAPI".
OSGi HTTP (Whiteboard) supports giving descriptive names to WebContexts. Sucrrently our setup looks like this:
opendaylight-user@root>web:context-list Bundle ID │ Symbolic Name │ Context Path │ Context Name │ Rank │ Service ID │ Type │ Scope │ Registration Properties ──────────┼───────────────────────────────────────────────┼──────────────┼───────────────────┼──────┼────────────┼─────────────┼───────────┼─────────────────────────────────────────────────────────── 164 │ org.jolokia.osgi │ / │ context:534196305 │ MAX │ 0 │ HttpService │ static* │ httpContext.id=context:534196305 │ │ │ │ │ │ │ │ httpContext.path=/ │ │ │ │ │ │ │ │ osgi.http.whiteboard.context.httpservice=context:534196305 │ │ │ │ │ │ │ │ osgi.http.whiteboard.context.path=/ 312 │ org.ops4j.pax.web.pax-web-extender-whiteboard │ / │ default │ 0 │ 0 │ Whiteboard │ static* │ osgi.http.whiteboard.context.name=default │ │ │ │ │ │ │ │ osgi.http.whiteboard.context.path=/ 256 │ org.opendaylight.netconf.restconf-nb │ /.well-known │ /.well-known.id │ 0 │ 286 │ Whiteboard │ singleton │ osgi.http.whiteboard.context.name=/.well-known.id │ │ │ │ │ │ │ │ osgi.http.whiteboard.context.path=/.well-known 342 │ org.opendaylight.netconf.sal-rest-docgen │ /apidoc │ /apidoc.id │ 0 │ 291 │ Whiteboard │ singleton │ osgi.http.whiteboard.context.name=/apidoc.id │ │ │ │ │ │ │ │ osgi.http.whiteboard.context.path=/apidoc 174 │ org.opendaylight.aaa.shiro │ /auth │ /auth.id │ 0 │ 270 │ Whiteboard │ singleton │ osgi.http.whiteboard.context.name=/auth.id │ │ │ │ │ │ │ │ osgi.http.whiteboard.context.path=/auth 256 │ org.opendaylight.netconf.restconf-nb │ /rests │ /rests.id │ 0 │ 279 │ Whiteboard │ singleton │ osgi.http.whiteboard.context.name=/rests.id │ │ │ │ │ │ │ │ osgi.http.whiteboard.context.path=/rests *) This context is using ServletContextHelper/HttpContext without resolving an org.osgi.framework.ServiceReference.
There is obvious room for improvement, where instead of appending ".id" we propagate a user-supplied property.
For example "/rests.id" would become "RFC8040 RESTCONF" or similar. Similarly "/.well-known.id" would become "RFC6415 Web Host Metadata" and "/apidoc.id" would become "OpenAPI".