Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Designing Rest API's with Raml-1

Designing Rest API's with Raml-1

ksuhas4455

August 07, 2017
Tweet

More Decks by ksuhas4455

Other Decks in Programming

Transcript

  1. REST IS ALSO CALLED AS REPRESENTATIONAL STATE TRANSFER. THE REST

    API LETS US TO INTERACT WITH ANYTHING THAT CAN SEND AN HTTP REQUEST. REST APIS ARE VERY EASY TO CREATE AND DESIGN AND IT SUPPORTS VARIOUS METHODS LIKE GET, POST, PUT, DELETE ETC TO PERFORM VARIOUS TYPES OF OPERATIONS. IN MULE, WE CAN CREATE AND DESIGN A REST SERVICE VARIOUS WAYS. BUT, WITH THE NEW SPECIFICATION OF RAML, IT BECAME QUITE A EASY TASK TO CREATE, DESIGN AND TEST OUR APIS AS PER OUR REQUIREMENT.
  2. BEFORE WE START, WE WILL ACTUALLY LOOK INTO WHAT RAML

    REALLY IS. RAML WHICH IS ALSO CALLED AS RESTFUL API MODELING LANGUAGE, HELPS US TO MANAGE THE WHOLE API LIFECYCLE STARTING FROM IT’S DESIGN, DEVELOP TO SHARING. IT IS BASICALLY BUILD ON TOP OF YAML FOR DESCRIBING RESTFUL APIS AND PROVIDES ALL THE INFORMATION TO DESCRIBE AN API. REFERENCE :- HTTP://RAML.ORG/
  3. RAML CAN BE DESIGNED IN API DESIGNER. API DESIGNER IS

    A STANDALONE/EMBEDDABLE EDITOR FOR RAML (RESTFUL API MODELING LANGUAGE) WRITTEN IN JAVASCRIPT USING ANGULAR.JS. BY DEFAULT, THE EDITOR USES AN IN-BROWSER FILESYSTEM STORED IN HTML5 LOCAL STORAGE. API DESIGNER :- HTTPS://WWW.MULESOFT.COM/PLATFORM/API/API- DESIGNER WITH THIS TOOL/EDITOR, WE CAN DESIGN OUR APIS AND TEST IT THERE ITSELF USING A MOCK SERVICE WITH THE TOOL.
  4. SO, WE NEED TO LOG IN INTO OUR ACCOUNT TO

    START DESIGNING OUR APIS. HTTPS://ANYPOINT.MULESOFT.COM/#/SIGNIN IF WE DON’T HAVE AN ACCOUNT WE CAN SIGN UP AND CREATE ONE.
  5. ONCE WE SIGN IN, WE NEED TO CLICK APIS MENU

    IN THE TOP RIGHT AS FOLLOWS:-
  6. IF WE DON’T HAVE ANY API PRESENT THERE IN OUR

    ACCOUNT, WE CAN CREATE A NEW API BY CLICKING THE BUTTON AS BELOW :-
  7. NOW, A DIALOG BOX WILL ARRIVE AND WE WILL BE

    FILLING IT BY GIVING OUR API NAME, VERSION NAME AND A END POINT AS FOLLOWS :-
  8. NOW, WE WILL ADD SOME MORE TAGS IN THE FILE

    LIKE PROTOCOLS AND MEDIA TYPE
  9. NOW WE CAN ADD METHODS FOR OUR RESOURCES. METHODS :-

    METHODS ARE OPERATIONS THAT ARE PERFORMED ON A RESOURCE. THERE CAN BE SEVERAL METHODS APPLIED ON A RESOURCES SUCH AS :- * GET * POST * PUT * DELETE AND MANY MORE. WE WILL BE SEEING GET PERFORMED ON OUR RESOURCE. METHODS ALSO CONTAINS THE PROPERTIES LIKE DISPLAY NAME AND DESCRIPTION
  10. RESPONSES :- A RESOURCE METHODS MAY HAVE ONE OR MORE

    RESPONSES. RESPONSES MAY BE DESCRIBED USING THE DESCRIPTION PROPERTY, AND MAY INCLUDE EXAMPLE ATTRIBUTES OR SCHEMA PROPERTIES. RESPONSES MUST BE A MAP OF ONE OR MORE HTTP STATUS CODES, WHERE EACH STATUS CODE ITSELF IS A MAP THAT DESCRIBES THAT STATUS CODE. IN OUR EXAMPLE, WE HAVE MAPPED 2 RESPONSES FOR STATUS CODE 200 AND 404 RESPECTIVELY. SO, THESE RESPONSE WILL BE GENERATED AS PER THE STATUS CODE.
  11. WE CAN SEE AT RIGHT SIDE OF OUR API DESIGNER,

    WHERE PREVIEW OF OUR API IS DISPLAYED AND THE PREVIEW GETS UPDATED EVERYTIME WE CHANGE OR UPDATE OUR CODE. HERE WE CAN SEE THE DESCRIPTION, STRUCTURE OF OUR API AND ALSO THE DESCRIPTION OF ELEMENTS WE HAVE PROVIDED.
  12. API DESIGNER PLATFORM PROVIDES AN OPTION TO TEST OUR APIS

    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 BASE URI HAS BEEN COMMENTED AND A NEW MOCK URI IS GENERATED.
  13. SO, TO TEST THE API, WE NEED TO HIT TRY

    IT BUTTON IN THE RIGHT SIDE, THAT DISPLAY OUR API GRAPHICALLY .:-
  14. AFTER HITTING TRY IT BUTTON WE CAN SEE PROTOCOLS, CUSTOM

    HEADERS AND QUERY PARAMETER FIELD THAT WE NEED TO FILL BEFORE WE HIT THE SERVICE. WE CAN SEE IT IS ALREADY FILLED WITH EXAMPLE VALUES.
  15. WE NEED TO HIT THE GET BUTTON TO HIT THE

    SERVICE THAT IS DESIGNED WITH GET METHOD:-
  16. SO WE CAN SEE IT IS VERY VERY EASY TO

    DESIGN AND CREATE A RAML FILE FOR OUR RESTFUL API.THE API DESIGNER HELPS US GREATLY IN DESIGNING AS WELL AS TESTING THE API WE CREATE. IN THE NEXT PART I WILL SHOW TO DESIGN OUR APIS WITH OTHER METHODS AND SPECIFICATIONS. SO AT THE END I CAN ONLY SAY THAT, LET’S SPREAD OUR KNOWLEDGE AND EXPAND OUR MULE COMMUNITY. 