前言 風玫瑰是由氣象學家用於給出如何風速和風向在特定位置通常分佈的簡明視圖的圖形工具。它也可以用來描述空氣質量污染源。 風玫瑰工具使用Matplotlib作為後端。 安裝方式直接使用pip install windrose 導入模塊 Python學習交流Q群:906715085#### import ...
Rest風格
Rest簡介
-
Rest(Representational State Transfer),表現形式狀態轉換
-
傳統風格資源描述形式
-
Rest風格描述形式
-
-
優點
- 隱藏資源的訪問行為,無法通過地址得知對資源是何種操作
- 書寫簡化
REST風格簡介
- 按照REST風格訪問資源時使用行為動作區分對資源進行了何種操作
- http://localhost/users 查詢全部用戶信息 GET(查詢)
- http://localhost/users/1 查詢指定用戶信息 GET(查詢)
- http://localhost/users 添加用戶信息 POST(新增/保存)
- http://localhost/users 修改用戶信息 PUT(修改/更新)
- http://localhost/users/1 刪除用戶信息 DELETE(刪除)
- 根據REST風格對資源進行訪問成為RESTful
上訴行為是約定方式,約定不是規範,可以打破,所以稱為REST風格,而不是REST規範
描述模塊的名稱通常使用複數,也就是加s的格式描述,表示此類資源,而非單個資源,例如:users、books、accounts......
RESTful快速入門
- 設定http請求動作(動詞)
@RequestMapping(value = "/users",method = RequestMethod.POST)
@ResponseBody
public String update(@PathVariable User user){
System.out.println("user delete..."+user);
return "{'module':'user update'}";
}
@RequestMapping(value = "/users",method = RequestMethod.PUT)
@ResponseBody
public String update(@PathVariable User user){
System.out.println("user delete..."+user);
return "{'module':'user update'}";
}
- 設置請求參數(路徑變數)
@RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)
@ResponseBody
public String delete(@PathVariable Integer id){
System.out.println("user delete..."+id);
return "{'module':'user delete'}";
}
- 名稱: @RequestMapping
- 類型:方法註解
- 位置:SpringMvc控制器方法定義上方
- 作用:設置當前控制器方法請求訪問路徑
- 示例:
@RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)
@ResponseBody
public String delete(@PathVariable Integer id){
System.out.println("user delete..."+id);
return "{'module':'user delete'}";
}
-
屬性:
- value(預設):請求訪問路徑
- method:http請求動作,標準動作(GET/POST/PUT/DELETE)
-
名稱:@PathVariable
-
類型:形參註解
-
位置:SpringMvc控制器方法形參定義前面
-
作用:綁定路徑參數與處理器方法形參間的關係,要求路徑參數名與形參名一 一對應
-
示例:
@RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)
@ResponseBody
public String delete(@PathVariable Integer id){
System.out.println("user delete..."+id);
return "{'module':'user delete'}";
}
- 區別
- @RequestParam用與接收url地址傳參或表單傳參
- @RequestBody用於接收json數據
- @PathVariable用於接收路徑參數,使用{參數名稱}描述路徑參數
- 應用
- 後期開發中,發送請求參數超過一個小時,以json格式為主,@RequestBody應用較廣
- 如果發送非json格式數據,選用@RequesParam接收請求參數
- 採用RESTful進行開發,當參數數量較少時,例如一個。可以採用@PathVariable接收請求路徑變數,通常用於傳遞id值
RESTful快速開發
//Rest模式
@RestController//相當於@ResponseBody+@Controller
@RequestMapping( "/books")
public class BookController {
//@RequestMapping( method = RequestMethod.POST)
@PostMapping
public String save(){
System.out.println("user save...");
return "{'module':'user save'}";
}
//@RequestMapping(value = " /{id}",method = RequestMethod.DELETE)
@DeleteMapping("/{id}")
public String delete(@PathVariable Integer id){
System.out.println("user delete..."+id);
return "{'module':'user delete'}";
}
//@RequestMapping(method = RequestMethod.PUT)
@PutMapping
public String update(@PathVariable User user){
System.out.println("user delete..."+user);
return "{'module':'user update'}";
}
//@RequestMapping(value = "/{id}",method = RequestMethod.GET)
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("springboot is running3...");
return "springboot is running3...";
}
}