I have an API that mostly produces and consumes an application/vnd
mime type.
For some endpoints, I also want to handle different mime types. How do I avoid specifying the produces()
and consumes()
for every route?
For example: instead of:
<code> router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.consumes(VENDOR_MIME)
.method(PUT).handler(userRolesCrudHandler::replace);
router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.method(GET).handler(userRolesCrudHandler::read);
router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.method(DELETE).handler(userRolesCrudHandler::delete);
router.route("/user-roles/:email")
.produces("text/plain")
.method(GET).handler(userRolesCrudHandler::readAsText);
</code>
<code> router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.consumes(VENDOR_MIME)
.method(PUT).handler(userRolesCrudHandler::replace);
router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.method(GET).handler(userRolesCrudHandler::read);
router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.method(DELETE).handler(userRolesCrudHandler::delete);
router.route("/user-roles/:email")
.produces("text/plain")
.method(GET).handler(userRolesCrudHandler::readAsText);
</code>
router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.consumes(VENDOR_MIME)
.method(PUT).handler(userRolesCrudHandler::replace);
router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.method(GET).handler(userRolesCrudHandler::read);
router.route("/user-roles/:email")
.produces(VENDOR_MIME)
.method(DELETE).handler(userRolesCrudHandler::delete);
router.route("/user-roles/:email")
.produces("text/plain")
.method(GET).handler(userRolesCrudHandler::readAsText);
Something like:
<code> router.
.defaultProduces(VENDOR_MIME)
.defaultConsumes(VENDOR_MIME)
router.route("/user-roles/:email")
.method(PUT).handler(userRolesCrudHandler::replace);
router.route("/user-roles/:email")
.method(GET).handler(userRolesCrudHandler::read);
router.route("/user-roles/:email")
.method(DELETE).handler(userRolesCrudHandler::delete);
router.route("/user-roles/:email")
.produces("text/plain")
.method(GET).handler(userRolesCrudHandler::readAsText);
</code>
<code> router.
.defaultProduces(VENDOR_MIME)
.defaultConsumes(VENDOR_MIME)
router.route("/user-roles/:email")
.method(PUT).handler(userRolesCrudHandler::replace);
router.route("/user-roles/:email")
.method(GET).handler(userRolesCrudHandler::read);
router.route("/user-roles/:email")
.method(DELETE).handler(userRolesCrudHandler::delete);
router.route("/user-roles/:email")
.produces("text/plain")
.method(GET).handler(userRolesCrudHandler::readAsText);
</code>
router.
.defaultProduces(VENDOR_MIME)
.defaultConsumes(VENDOR_MIME)
router.route("/user-roles/:email")
.method(PUT).handler(userRolesCrudHandler::replace);
router.route("/user-roles/:email")
.method(GET).handler(userRolesCrudHandler::read);
router.route("/user-roles/:email")
.method(DELETE).handler(userRolesCrudHandler::delete);
router.route("/user-roles/:email")
.produces("text/plain")
.method(GET).handler(userRolesCrudHandler::readAsText);