Spring Boot之Controller

註解 用途
@Controller 處理http請求
@RestController spring 4 新加註解,@RestController = @Controller + @ResponseBody ,
@RequestMapping 配置url映射
@PathVariable 獲取url中的數據
@RequestParam 獲取請求參數的值
@GetMapping 組合註解

@RequestMapping 的使用

@RequestMapping 可以放在Controller 的類上,也可以放在方法上

 

/**
 * Created by Administrator on 2017/5/28.
 */
@RestController
@RequestMapping("/hello")
public class GetManInfo {
    
    @Autowired
    private ManInfoProperties manInfoProperties;

    @RequestMapping(value = "/getManInfo",method= RequestMethod.GET)
    public  String getManInfo(){
        return manInfoProperties.getAge();
    }

}

請求路徑: 類上的路徑+ 方法上的 路徑,這裏是

 

 http://127.0.0.1:8081/hello/getManInfo

也可以不要類上的路徑

 

/**
 * Created by Administrator on 2017/5/28.
 */
@RestController
public class GetManInfo {
    
    @Autowired
    private ManInfoProperties manInfoProperties;

    @RequestMapping(value = "/getManInfo",method= RequestMethod.GET)
    public  String getManInfo(){
        return manInfoProperties.getAge();
    }

}

請求路徑: 方法上的 路徑,這裏是

 

 http://127.0.0.1:8081/getManInfo

@PathVariable 的使用

@PathVariable是獲取url中的數據,這裏我沒假設url 裏面有一個id

 

@RestController
public class GetManInfo {
    @RequestMapping(value = "/hello/{id}" , method = RequestMethod.GET)
   public  String getId(@PathVariable("id") int id){
       return "id:"+id;
   }
}

試一試

 

http://127.0.0.1:8081/hello/18

結果

@PathVariable 的使用.png

@RequestParam 的使用

@RequestParam 用來獲取請求參數的值 post 和 get ,put 等等都可以

 

@RestController
public class GetManInfo {
    @RequestMapping(value = "/hello" , method = RequestMethod.GET)
   public  String getId(@RequestParam int id){

       return "id:"+id;
   }
}

請求:

 

http://127.0.0.1:8081/hello?id=18

結果:

 

@RequestParam 使用

@RequestParam 還可以有一些設置,required 是否必傳,defaultValue 默認值

 

@RestController
public class GetManInfo {
    @RequestMapping(value = "/hello" , method = RequestMethod.GET)
   public  String getId(@RequestParam( value = "id" , required = false,defaultValue = "0") int id){

       return "id:"+id;
   }
}

組合註釋的使用( @GetMapping 、 @PostMapping、@PutMapping、@DeleteMapping 等等)

以@GetMapping 爲例

 

    @GetMapping(value = "/hello")

等價於

 

  @RequestMapping(value = "/hello" , method = RequestMethod.GET)

其他的也一樣

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