@RequestHeader
annotation is used to inject a request header to method parameter.
Example
@RequestMapping("/userAgent")
public
ResponseEntity<String> getData(@RequestHeader(value =
"user-agent") String userAgent) {
return ResponseEntity.ok(userAgent);
}
Find the below
working application.
package com.sample.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
HomeController.java
package com.sample.app.cotroller; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HomeController { @RequestMapping("/") public String home() { return "Hello World"; } @RequestMapping("/headers") public String headers(HttpServletRequest request) { Enumeration<String> headerNames = request.getHeaderNames(); StringBuilder builder = new StringBuilder(); while (headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); String headerValue = request.getHeader(headerName); builder.append(headerName).append(" : ").append(headerValue).append("<br />"); } return builder.toString(); } @RequestMapping("/userAgent") public ResponseEntity<String> getData(@RequestHeader(value = "user-agent") String userAgent) { return ResponseEntity.ok(userAgent); } }
pom.xml
<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> <groupId>springRest</groupId> <artifactId>springRest</artifactId> <version>1</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> </parent> <name>springbootApp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project>
Total
project structure looks like below.
Run
App.java.
You can
download complete working application from this link.
No comments:
Post a Comment