RESTful Web Services in Java A Step-by-Step Guide
RESTful Web Services in Java allow applications to communicate over HTTP using standard methods like GET, POST, PUT, and DELETE. Java provides powerful frameworks like Spring Boot and JAX-RS (Jakarta RESTful Web Services) to build RESTful APIs efficiently.
RESTful Web Services in Java A Step-by-Step Guide
E N D
Presentation Transcript
RESTFULWEBSERVICESINJAV ASTEP-BY-STEPGUIDE https://nareshit.com/courses/advanced-java-online-training
INTRODUCTION RESTfulWebServicesinJavaallowapplicationsto communicateoverHTTPusingstandardmethods likeGET,POST,PUT,andDELETE.Javaprovides powerfulframeworkslikeSpringBootandJAX-RS (JakartaRESTfulWebServices)tobuildRESTful APIsefficiently. https://nareshit.com/courses/advanced-java-online-training
1.WHATARERESTFULWEBSERVICES? REST(RepresentationalStateTransfer)isanarchitectural stylethatusesHTTPforcommunicationbetweenclients andservers.RESTfulservices: ✅UseHTTPmethodsforCRUDoperations ✅WorkwithJSON/XMLfordataexchange ✅Arestateless,meaningeachrequestisindependent
HTTPMETHODSINREST Method GET POST PUT DELETE Description Retrievedata Createnewdata Updateexistingdata Removedata
SETTINGUPARESTAPIINJAVAUSING SPRINGBOOT CreateaSpringBootProject DefinetheModelClass CreateaRESTController TestingtheAPIwithPostman RuntheApplication
STEP1:CREATE ASPRINGBOOTPROJECT USESPRINGINITIALIZR(START.SPRING.IO)ANDSELECT: SPRINGWEB(FORRESTAPIS) LOMBOK(FORREDUCINGBOILERPLATECODE) SPRINGBOOTDEVTOOLS(FORHOT-RELOADING) https://nareshit.com/courses/advanced-java-online-training
STEP2:DEFINETHEMODELCLASS LET'SCREATEASIMPLEEMPLOYEEMODEL. importlombok.AllArgsConstructor; importlombok.Data; importlombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor publicclassEmployee{ privateintid; privateStringname; privateStringdepartment; }
STEP3:CREATEARESTCONTROLLER THE@RESTCONTROLLERANNOTATIONISUSEDTODEFINERESTFULAPIS. IMPORTORG.SPRINGFRAMEWORK.WEB.BIND.ANNOTATION.*; IMPORTJAVA.UTIL.*; @RESTCONTROLLER @REQUESTMAPPING("/EMPLOYEES") PUBLICCLASSEMPLOYEECONTROLLER{ PRIVATELIST<EMPLOYEE>EMPLOYEES=NEWARRAYLIST<>(LIST.OF( NEWEMPLOYEE(1,"JOHNDOE","ENGINEERING"), NEWEMPLOYEE(2,"JANESMITH","MARKETING") )); //GET:FETCHALLEMPLOYEES @GETMAPPING PUBLICLIST<EMPLOYEE>GETALLEMPLOYEES(){ RETURNEMPLOYEES; }
//GET:FETCHASINGLEEMPLOYEEBYID } @GETMAPPING("/{ID}") PUBLICEMPLOYEEGETEMPLOYEEBYID(@PATHVARIABLEINTID){ RETURNEMPLOYEES.STREAM().FILTER(EMP->EMP.GETID()==ID) .FINDFIRST().ORELSE(NULL); } //POST:ADDANEWEMPLOYEE @POSTMAPPING PUBLICSTRINGADDEMPLOYEE(@REQUESTBODYEMPLOYEEEMPLOYEE){ EMPLOYEES.ADD(EMPLOYEE); RETURN"EMPLOYEEADDEDSUCCESSFULLY!"; } //PUT:UPDATEANEMPLOYEE @PUTMAPPING("/{ID}") PUBLICSTRINGUPDATEEMPLOYEE(@PATHVARIABLEINTID, @REQUESTBODYEMPLOYEEUPDATEDEMPLOYEE){ FOR(EMPLOYEEEMP: EMPLOYEES){
IF(EMP.GETID()==ID){ EMP.SETNAME(UPDATEDEMPLOYEE.GETNAME()); EMP.SETDEPARTMENT(UPDATEDEMPLOYEE.GETDEPARTMENT()); RETURN"EMPLOYEEUPDATEDSUCCESSFULLY!"; } } RETURN "EMPLOYEENOTFOUND!"; } //DELETE:REMOVEANEMPLOYEE @DELETEMAPPING("/{ID}") PUBLICSTRINGDELETEEMPLOYEE(@PATHVARIABLE INTID){ EMPLOYEES.REMOVEIF(EMP->EMP.GETID()==ID); RETURN"EMPLOYEEDELETEDSUCCESSFULLY!"; }
STEP4:RUNTHEAPPLICATION RUNTHESPRINGBOOTAPPLICATIONFROMYOURIDEORUSING: MVNSPRING-BOOT:RUN
STEP4:RUNTHEAPPLICATION RUNTHESPRINGBOOTAPPLICATIONFROMYOURIDEORUSING: MVNSPRING-BOOT:RUN
STEP5:TESTINGTHEAPIWITHPOSTMAN USEPOSTMANORCURLCOMMANDSTOTESTTHEAPI. ADDANEW EMPLOYEE FETCHALLEMPLOYEES GET HTTP://LOCALHOST:8080/EMPLOYEES POSTHTTP://LOCALHOST:8080/EMPLOYEESCONTENT-TYPE:APPLICATION/JSON FETCHANEMPLOYEEBYID GET HTTP://LOCALHOST:8080/EMPLOYEES/1 { "ID":3, "NAME":"ALICEBROWN", "DEPARTMENT":"HR" }
UPDATEANEMPLOYEE PUTHTTP://LOCALHOST:8080/EMPLOYEES/1CONTENT-TYPE:APPLICATION/JSON { "NAME":"JOHNDOEUPDATED", "DEPARTMENT":"TECHSUPPORT" } DELETEANEMPLOYEE DELETEHTTP://LOCALHOST:8080/EMPLOYEES/1
THANKYOU CONTACTUS +918179191999 SUPPORT@NARESHIT.COM HTTPS://NARESHIT.COM/COURSES/ADVANCED-JAVA-ONLINE-TRAINING 2NDFLOOR,DURGABHAVANIPLAZA,AMEERPET,HYDERABAD,500016.