package com.imooc.springbootlearn; import org.springframework.web.bind.annotation.*; /** * 演示各種傳參形式 */ @RestController public class ParaController { // 此類是一個controller // 同時,具有restful風格 /** * 直接返回一個String * 示例:http://127.0.0.1:8080/firstRequest * @return */ @GetMapping({"/firstRequest"}) public String firstRequest() { return "第一個springboot接口"; } /** * 傳參,函數返回含參數的string * 示例: http://127.0.0.1:8080/requestPara?num=3 * @param num * @return */ @GetMapping({"/requestPara"}) public String requestPara(@RequestParam Integer num) { return "para from request: " + num; } /** * 傳參,通過url路徑 * 示例: http://127.0.0.1:8080/pathPara/9 * @param num * @return */ @GetMapping({"/pathPara/{num}"}) public String pathPara(@PathVariable Integer num) { return "path from path: " + num; } /** * 多url訪問、傳參 * 示例: http://127.0.0.1:8080/multiUrl1?num=6 * 示例: http://127.0.0.1:8080/multiUrl2?num=6 * @param num * @return */ @GetMapping({"/multiUrl1", "/multiUrl2"}) public String multiUrl(@RequestParam Integer num) { return "para from path: " + num; } /** * 傳參設置默認值,增強代碼健壯性 * 示例: http://127.0.0.1:8080/required (返回參數是0的情況) * 示例: http://127.0.0.1:8080/required?num=9 (按參數值情況返回) * @param num * @return */ @GetMapping({"/required"}) public String required(@RequestParam(required = false, defaultValue = "0") Integer num) { return "para from request: " + num; } }
