0 likes | 0 Views
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.
E N D
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.