1. 程式人生 > 實用技巧 >@RequestMapping和@RequestParam和@PathVariable

@RequestMapping和@RequestParam和@PathVariable

目錄

@RequestMapping註解

@RequestMapping是一個用來處理請求地址對映的註解,可用於類或方法上

用於上,表示類中的所有響應請求的方法都是以該地址作為父路徑

用於方法上,表示在類的父路徑下追加方法上註解中的地址將會訪問到該方法

// 請求地址 http://localhost:8080/a/b
@RequestMapping(value = "/a")
public class Index {
	// 用於方法上,必須有
    @RequestMapping(value = "/b")
    public String idx() {
        return "HelloWorld";
    }
}

則訪問路徑為http://localhost:8080/a/b,訪問該路徑就會跳轉到HelloWorld頁面。

@RequestParam註解

@RequestParam:將請求引數繫結到你控制器的方法引數上(是springmvc中接收普通引數的註解)

語法:@RequestParam(value="引數名",required="true/false",defaultValue="")

value:引數名

required:是否包含該引數,預設為true,表示該請求路徑中必須包含該引數,如果不包含就報錯。

defaultValue:預設引數值,如果設定了該值,required=true將失效,自動為false,如果沒有傳該引數,就使用預設值

// 請求地址 http://localhost:8080/search?keywords=張三
public class search {
    // 用於方法上,必須有
    @RequestMapping(value = "/search")
    public String idx(@RequestParam("keywords") String keywords) {
        return keywords;
    }
}

// 請求地址 http://localhost:8080/search
public class search {
	
    @RequestMapping(value = "/search",required=false,defaultValue="李四")
    public String idx(@RequestParam("keywords") String keywords) {
        return keywords;
    }
}

@PathVariable註解

@PathVariable:接收請求路徑中佔位符的值

通過 @PathVariable 可以將URL中佔位符引數{xxx}繫結到處理器類的方法形參中

@GetMapping("/categories/{cid}/books")
public List<Book> listByCategory(@PathVariable("cid") int cid) throws Exception {
    if (0 != cid) {
   	 	return bookService.listByCategory(cid);
    } else {
    	return list();
    }
}