🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
 In this short article, we will learn how to use Spring Boot @PathVariable annotation to read an URL template variable. We create a Spring Boot RESTful application to demonstrate the annotation.
                 
    @PathVariable Annotation
 @PathVariable is a Spring annotation which indicates that a method parameter should be bound to a URI template variable.
  It has the following optional elements:
 - name - name of the path variable to bind to
- required - tells whether the path variable is required
- value - alias for name
 With the @PathVariable annotation, we bind the request URL template path variable to the method variable. For instance, with the /100/Ramesh/ URL, the 100 value is bind to the id variable and "Ramesh" value to the name variable.
  @GetMapping(path = "/hello-world/{id}/{name}") public HelloWorldBean helloWorldPathVariable(@PathVariable long id, @PathVariable(name = "name") String name) { return new HelloWorldBean(id, name); } Spring Boot @PathVariable Annotation Example
 The following example creates a Spring Boot web application which uses @PathVariable. The application receives an URL from which it builds a text response to the client.
 Development Steps
- Create a Spring Boot Application
- Project Structure
- Pom Dependencies
- Java Bean - HelloWorldBean.java
- Create REST Controller - HelloWorldController.java
- Run Application - Application.java
- Testing
1. Create a Spring Boot Application
 There are many ways to create a Spring Boot application. You can refer below articles to create a Spring Boot application.
  >> Create Spring Boot Project With Spring Initializer
>> Create Spring Boot Project in Spring Tool Suite [STS]
 >> Create Spring Boot Project in Spring Tool Suite [STS]
 Refer project structure or packaging structure in the next step.
 2. Project Structure
 This is the project structure of the Spring Boot application that we are going to create -
  3. Pom Dependencies
 This is the Maven build file. The spring-boot-starter-web is a starter for building web applications using Spring MVC. It uses Tomcat as the default embedded container.
 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>net.javaguides.springboot</groupId> <artifactId>springboot-helloworld-app</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-helloworld-app</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 4. Java Bean - HelloWorldBean.java
 Let's create a representation class which we use to return in JSON format:
 package net.javaguides.springboot; public class HelloWorldBean { private long id; private String message; public HelloWorldBean(long id, String message) { super(); this.id = id; this.message = message; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } 5. Create REST Controller - HelloWorldController.java
 Let's create a simple HelloWorldController which exposes hello world rest service:
 package net.javaguides.springboot; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorldController { @GetMapping(path = "/hello-world/{id}/{name}") public HelloWorldBean helloWorldPathVariable(@PathVariable long id, @PathVariable(name = "name") String name) { return new HelloWorldBean(id, name); } }  With the @PathVariable annotation, we bind the request URL template path variable to the method variable. For instance, with the /100/Ramesh/ URL, the 100 value is bind to the id variable and "Ramesh" value to the name variable.
  @GetMapping(path = "/hello-world/{id}/{name}") public HelloWorldBean helloWorldPathVariable(@PathVariable long id, @PathVariable(name = "name") String name) { return new HelloWorldBean(id, name); } 6. Run Application - Application.java
 Application is the entry point which sets up the Spring Boot application. The @SpringBootApplication annotation enables auto-configuration and component scanning.
  Let's run this Spring boot application from either Eclipse IDE by right click -> Run As -> Java Application.
  Or you can use below maven command to run:
 mvn spring-boot:run7. Testing from Browser
 Hit this URL in a browser - http://localhost:8080/hello-world/100/ramesh
   Get source code of this tutorial on my  GitHub Repository. 
  
  
  
 ![[NEW] Full-Stack Java Development with Spring Boot 3 & React Build 5 Spring Boot Projects with Java: Line-by-Line Coding](https://img-c.udemycdn.com/course/750x422/5338984_4d3a_5.jpg) 
  
  
  
  
  
  
  
  
  
  
 
Comments
Post a Comment
Leave Comment