From d69f3fee277c79d771626c8308f83e018dfeb2ee Mon Sep 17 00:00:00 2001 From: DOHA Date: Mon, 12 Nov 2018 17:54:01 +0200 Subject: [PATCH] RequestParam annotation --- .../springbootmvc/RequestParamController.java | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 spring-boot-mvc/src/main/java/com/baeldung/springbootmvc/RequestParamController.java diff --git a/spring-boot-mvc/src/main/java/com/baeldung/springbootmvc/RequestParamController.java b/spring-boot-mvc/src/main/java/com/baeldung/springbootmvc/RequestParamController.java new file mode 100644 index 0000000000..7a262edd16 --- /dev/null +++ b/spring-boot-mvc/src/main/java/com/baeldung/springbootmvc/RequestParamController.java @@ -0,0 +1,86 @@ +package com.baeldung.springbootmvc; + +import java.util.List; +import java.util.Map; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; + + +@Controller +public class RequestParamController { + + @GetMapping("/api/foos") + @ResponseBody + public String getFoos(@RequestParam int limit){ + return "Limit: " + limit; + } + + @GetMapping("/api/bars") + @ResponseBody + public String getBars(@RequestParam(name = "query") String searchQuery){ + return "Query: " + searchQuery; + } + + @GetMapping("/api/users") + @ResponseBody + public String getUsers(@RequestParam(required = false) String query){ + return "Query: " + query; + } + + @GetMapping("/api/products") + @ResponseBody + public String getProducts(@RequestParam(defaultValue = "20") int limit){ + return "Limit: " + limit; + } + + @PostMapping("/api/foos") + @ResponseBody + public String updateFoos(@RequestParam Map allParams){ + return "Parameters are " + allParams.entrySet(); + } + + @PostMapping("/api/posts") + @ResponseBody + public String createPost(@RequestParam String content, @RequestParam MultipartFile file){ + return "File size in bytes: " + file.getSize(); + } + + @GetMapping("/api/posts") + @ResponseBody + public String getPosts(@RequestParam List id){ + return "ID are " + id; + } + + @GetMapping("/foos/{id}") + @ResponseBody + public String getFooById(@PathVariable String id){ + return "ID: " + id; + } + + @GetMapping("/foos") + @ResponseBody + public String getFooByIdUsingQueryParam(@RequestParam String id){ + return "ID: " + id; + } + + @GetMapping({"/myfoos/optional", "/myfoos/optional/{id}"}) + @ResponseBody + public String getFooByOptionalId(@PathVariable(required = false) String id){ + return "ID: " + id; + } + + @GetMapping("/myfoos/optionalParam") + @ResponseBody + public String getFooByOptionalIdUsingQueryParam(@RequestParam(required = false) String id){ + return "ID: " + id; + } + + + +}