ACTUALLY A RESOURCETYPES IS ??? RESOURCETYPES :- A RESOURCE TYPE IS A PARTIAL RESOURCE DEFINITION THAT, LIKE A RESOURCE, CAN SPECIFY A DESCRIPTION AND METHODS AND THEIR PROPERTIES. RESOURCES THAT USE A RESOURCE TYPE INHERIT ITS PROPERTIES, SUCH AS ITS METHODS.
CODE, AND MAY HAVE SEVERAL METHODS THAT HAVE SIMILAR DESCRIPTIONS, METHODS, RESPONSE TYPES (FOR EXAMPLE ERROR CODES) AND OTHER INFORMATION. RAML HAS A FEATURE CALLED RESOURCETYPES, OR A TEMPLATING ENGINE THAT LETS US TO DEFINE A TEMPLATE (OR MULTIPLE TEMPLATES) AND THAT CAN BE USED FOR MULTIPLE RESOURCES WITHOUT REPEATING THE CODE.
TO IMPLEMENT 2 METHODS IN IT (GET, POST). SO, EACH OF THE METHODS WILL HAVE A DESCRIPTION, RESPONSE TYPES ETC. BUT NOW, LET’S CONSIDER WE HAVE A REQUIREMENT THAT, THE METHODS (POST, GET) CAN ALSO BE USED FOR OTHER RESOURCES THAT WE MAY DECLARE FOR LATER USE. SO, TO MAKE IT SIMPLER WE WILL CREATE A RESOURCETYPES THAT CAN BE USED BY ANY RESOURCE IN THE RAML FILE WITHOUT REPEATING THE CODE.
resourceTypes where we are defining both the methods GET and POST. We are also setting description and response format for both the methods. Also, we are referring the response example from parameters :-
use this resourceTypes template. Infact this makes easy to reuse the code, without repeating the method structure again and again for any other resources. Here we can see that, the resource /books is calling and using the resourceTypes template. So, now the /books resource will have both the method GET and POST defined in the template. Also, the response format is taking the response parameter from here
THAT WE BUILD IN IT. IN THE LEFT SIDE WE CAN SEE A BUTTON CALLED MOCKING SERVICE, IF WE ON THAT BUTTON, THE API WILL BE READY FOR A MOCK TEST. YOU CAN SEE IN THE CODE, THAT OUR BASEURI HAS BEEN COMMENTED AND A NEW MOCK URI IS GENERATED.
TYPES TEMPLATE IN OUR RAML FILE, WHICH CONTAINS DESCRIPTION, METHODS ETC, THEN WE CAN EASILY USE THIS TEMPLATE FOR ANY OF OTHER RESOURCES WITHOUT WRITING A REPEATING CODE FOR METHODS OR DESCRIPTION. SO AT THE END I CAN ONLY SAY THAT, LET’S SPREAD OUR KNOWLEDGE AND EXPAND OUR MULE COMMUNITY.