web層controller中常用註解

web層類註解

@RestControlle

  • @RestController = @Controller + @ResponseBody組成
    • @Controller 將當前修飾的類注入SpringBoot IOC容器,使得從該類所在的項目跑起來的過程中,這個類就被實例化。當然也有語義化的作用,即代表該類是充當Controller的作用
    • @ResponseBody 它的作用是指該類中所有的API接口返回值,不論是Map或是其他Object,它會以Json字符串的形式返回給客戶端,但返回值如果是String類型,則仍然是以String類型返回。

關於請求參數

@PathVariable

@PathVariable 映射 URL 綁定的佔位符
帶佔位符的 URL 是 Spring3.0 新增的功能,該功能在SpringMVC 向 REST 目標挺進發展過程中具有里程碑的意義
通過 @PathVariable 可以將 URL 中佔位符參數綁定到控制器處理方法的入參中:URL 中的 {xxx} 佔位符可以通過@PathVariable(“xxx“) 綁定到操作方法的入參中。

  • 例子
//@PathVariable可以用來映射URL中的佔位符到目標方法的參數中
@RequestMapping("/testPathVariable/{id}")
    public String testPathVariable(@PathVariable("id") Integer id)
    {
        System.out.println("testPathVariable:"+id);
        return SUCCESS;
    }

@PathVariable與RequestParam的區別

  • @RequestParam 漢語意思就是: 請求參數。顧名思義 就是獲取參數的。
  /Springmvc/user/page.do?pageSize=3&pageNow=2

pageSize和pageNow應該是屬於參數而不是路徑,所以應該添加@RequestParam的註解。

  • @PathVariable 漢語意思是:路徑變量。顧名思義,url路徑中獲取變量。
@RequestMapping(value="/emp/{id}"

這裏的id是路徑中的變量,應使用@pathVariable

required = false

@RequestParam(value = "pageNum", required = false,defaultValue = "") Integer pageNum)
  • value 是傳參;
  • required :這個參數是否一定有值
    • true是一定有,不寫默認爲true
    • false是可以沒有,如果爲false一般設置默認值
    • defaultValue,設置參數pageNum的默認值

@RequestBody

  • @RequestBody主要用來接收前端傳遞給後端的json字符串中的數據的(請求體中的數據的);
  • GET方式無請求體,所以使用@RequestBody接收數據時,前端不能使用GET方式提交數據,而是用POST方式進行提交。
  • 在後端的同一個接收方法裏,@RequestBody與@RequestParam()可以同時使用,@RequestBody最多只能有一個,而@RequestParam()可以有多個

注:一個請求,只有一個RequestBody;一個請求,可以有多個RequestParam。

關於

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章