中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)后臺(tái) 手工上傳深圳百度快速排名提升

網(wǎng)站建設(shè)后臺(tái) 手工上傳,深圳百度快速排名提升,制作手機(jī)網(wǎng)頁(yè)教程,做的好看的pc端網(wǎng)站文章目錄 RESTREST基本介紹RESTful快速入門RESTful快速開發(fā) REST REST基本介紹 REST (Representational State Transfer), 表現(xiàn)形式狀態(tài)轉(zhuǎn)換(訪問(wèn)網(wǎng)絡(luò)資源的風(fēng)格) 傳統(tǒng)風(fēng)格資源描述形式 http://localhost/user/getById?id1http://localhost/user/saveUser REST風(fēng)格描述形式 …

文章目錄

  • REST
    • REST基本介紹
    • RESTful快速入門
    • RESTful快速開發(fā)

REST

REST基本介紹

REST (Representational State Transfer), 表現(xiàn)形式狀態(tài)轉(zhuǎn)換(訪問(wèn)網(wǎng)絡(luò)資源的風(fēng)格)

傳統(tǒng)風(fēng)格資源描述形式

  • http://localhost/user/getById?id=1
  • http://localhost/user/saveUser

REST風(fēng)格描述形式

  • http://localhost/user/1
  • http://localhost/user

REST優(yōu)點(diǎn):

隱藏資源的訪問(wèn)行為,無(wú)法通過(guò)地址得知對(duì)資源是何種操作

書寫簡(jiǎn)化

REST風(fēng)格介紹:

按照REST風(fēng)格訪問(wèn)資源時(shí)使用行為動(dòng)作區(qū)分對(duì)資源進(jìn)行了何種操作

  • http://localhost/users 查詢?nèi)坑脩粜畔?GET(查詢)
  • http://localhost/users/1 查詢指定用戶信息 GET(查詢)
  • http://localhost/users 添加用戶信息 POST(新增/保存)
  • http://localhost/users 修改用戶信息 PUT(修改/更新)
  • http://localhost/users/1 刪除用戶信息 DELETE(刪除)

根據(jù)REST風(fēng)格對(duì)資源進(jìn)行訪問(wèn)稱為RESTful

注意事項(xiàng):

上述行為是約定方式,約定不是規(guī)范,可以打破,所以稱REST風(fēng)格,而不是REST規(guī)范

描述模塊的名稱通常使用復(fù)數(shù),也就是加s的格式描述,表示此類資源,而非單個(gè)資源,例如:users、books、accounts……

RESTful快速入門

1. 設(shè)定http請(qǐng)求動(dòng)作(請(qǐng)求方式)

通過(guò)@RequestMapping注解的, method屬性

@Controller
public class UserController {// 新增/保存 指定請(qǐng)求行為: POST@RequestMapping(value = "/users", method = RequestMethod.POST)@ResponseBodypublic String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}// 刪除 指定請(qǐng)求行為: DELETE@RequestMapping(value = "/users", method = RequestMethod.DELETE)@ResponseBodypublic String delete(Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}
}

2. 設(shè)定請(qǐng)求參數(shù)(路徑變量)

@PathVariable注解, 寫在形參變量的前面, 綁定路徑參數(shù)與處理器方法形參間的關(guān)系,要求路徑參數(shù)名與形參名一一對(duì)應(yīng)

設(shè)置完成后可以在路徑中攜帶id訪問(wèn): http://localhost:80/users/1

@Controller
public class UserController {// 定義路徑參數(shù)@RequestMapping(value = "/users/{id}", method = RequestMethod.DELETE)@ResponseBody// 從路徑參數(shù)中取值public String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}
}

@RequestBody @RequestParam @PathVariable 對(duì)比:

區(qū)別:

@RequestParam用于接收url地址傳參或表單傳參

@RequestBody用于接收json數(shù)據(jù)

@PathVariable用于接收路徑參數(shù),使用{參數(shù)名稱}描述路徑參數(shù)

應(yīng)用:

后期開發(fā)中,發(fā)送請(qǐng)求參數(shù)超過(guò)1個(gè)時(shí),以json格式為主,@RequestBody應(yīng)用較廣

如果發(fā)送非json格式數(shù)據(jù),選用@RequestParam接收請(qǐng)求參數(shù)

采用RESTful進(jìn)行開發(fā),當(dāng)參數(shù)數(shù)量較少時(shí),例如1個(gè),可以采用@PathVariable接收請(qǐng)求路徑變量,通常用于傳遞id值

RESTful快速開發(fā)

使用RESTful開發(fā), 我們可以發(fā)現(xiàn)有許多重復(fù)的代碼

例如下面代碼: 每一個(gè)處理器都需要寫value = "/users"以及@ResponseBody;

@Controller
public class UserController {@RequestMapping(value = "/users", method = RequestMethod.POST)@ResponseBodypublic String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}@RequestMapping(value = "/users", method = RequestMethod.PUT)@ResponseBodypublic String update(@RequestBody User user) {System.out.println("user update..." + user);return "{'module': 'user update'}";}
}

簡(jiǎn)化一: 將公共的路徑提取到處理器所在類上

@Controller
@RequestMapping("/users")
public class UserController {@RequestMapping(method = RequestMethod.POST)@ResponseBodypublic String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)@ResponseBodypublic String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}
}

簡(jiǎn)化二: 將每個(gè)處理器都有的@RequestBody注解提取到處理器所在類上

@Controller
@RequestMapping("/users")
@ResponseBody
public class UserController {@RequestMapping(method = RequestMethod.POST)public String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)public String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}
}

簡(jiǎn)化三: @RestController注解

@RestController等同于@ResponseBody加上@ResponseBody注解組合起來(lái)的功能

@RestController
@RequestMapping("/users")
public class UserController {@RequestMapping(method = RequestMethod.POST)public String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)public String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}
}

簡(jiǎn)化四: 通過(guò)@GetMapping @PostMapping @PutMapping @DeleteMapping注解替代method = RequestMethod.XXX

設(shè)置當(dāng)前控制器方法請(qǐng)求訪問(wèn)路徑與請(qǐng)求動(dòng)作,每種對(duì)應(yīng)一個(gè)請(qǐng)求動(dòng)作,例如@GetMapping對(duì)應(yīng)GET請(qǐng)求;

默認(rèn)屬性value:請(qǐng)求訪問(wèn)路徑

@RestController
@RequestMapping("/users")
public class UserController {// 新增/保存 指定請(qǐng)求行為: POST@PostMappingpublic String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}// 刪除 指定請(qǐng)求行為: DELETE@DeleteMapping("/{id}")public String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}// 修改/更新 指定請(qǐng)求行為: PUT@PutMappingpublic String update(@RequestBody User user) {System.out.println("user update..." + user);return "{'module': 'user update'}";}// 查詢?nèi)?指定請(qǐng)求行為: GET@GetMappingpublic String selectAll() {System.out.println("user selectAll...");return "{'module': 'user selectAll'}";}// 查詢根據(jù)id 指定請(qǐng)求行為: GET@GetMapping("/{id}")public String selectById(@PathVariable Integer id) {System.out.println("user selectById..." + id);return "{'module': 'user selectById'}";}
}
http://www.risenshineclean.com/news/62576.html

相關(guān)文章:

  • 私人建設(shè)網(wǎng)站石家莊關(guān)鍵詞優(yōu)化平臺(tái)
  • 文檔怎么做網(wǎng)站鏈接搜外
  • 賣鋼材做哪個(gè)宣傳網(wǎng)站暴瘋團(tuán)隊(duì)seo課程
  • 興義做網(wǎng)站抖音關(guān)鍵詞挖掘工具
  • 個(gè)人怎樣建立網(wǎng)站市場(chǎng)調(diào)研報(bào)告1500字
  • 怎么敲代碼做網(wǎng)站云南省最新疫情情況
  • 網(wǎng)頁(yè)制作團(tuán)隊(duì)哈爾濱百度關(guān)鍵詞優(yōu)化
  • 焦作網(wǎng)站建設(shè)兼職網(wǎng)絡(luò)推廣公司哪家做得好
  • 徐州哪有做網(wǎng)站的熱門seo推廣排名穩(wěn)定
  • 網(wǎng)站修改標(biāo)題有影響嗎站長(zhǎng)工具seo綜合查詢columbu cat
  • 網(wǎng)站制作長(zhǎng)沙長(zhǎng)沙企業(yè)網(wǎng)站設(shè)計(jì)
  • 流量網(wǎng)站應(yīng)該怎么做seo分析seo診斷
  • wdcp網(wǎng)站遷移google play下載安卓
  • 廣州做網(wǎng)站哪家專業(yè)最近三天的新聞大事國(guó)內(nèi)
  • 建設(shè)一個(gè)看電影的網(wǎng)站營(yíng)銷軟文范例大全100
  • 個(gè)人備案網(wǎng)站做網(wǎng)購(gòu)網(wǎng)站購(gòu)買友情鏈接網(wǎng)站
  • html5可以做交互網(wǎng)站嗎成都抖音seo
  • 個(gè)別網(wǎng)站網(wǎng)速慢怎么做電商網(wǎng)站設(shè)計(jì)方案
  • 變態(tài)魔域游戲廣州seo推廣營(yíng)銷
  • 網(wǎng)站建設(shè)網(wǎng)站需要什么軟件有哪些營(yíng)銷網(wǎng)站建設(shè)多少錢
  • 住房和城鄉(xiāng)建設(shè)部網(wǎng)站主頁(yè)免費(fèi)關(guān)鍵詞挖掘工具
  • 代理平臺(tái)注冊(cè)網(wǎng)站建設(shè)腰椎間盤突出壓迫神經(jīng)腿疼怎么治
  • 企業(yè)門戶網(wǎng)站功能列表杭州seo 云優(yōu)化科技
  • b2c旅游網(wǎng)站管理系統(tǒng)seo短視頻入口引流
  • 網(wǎng)站建設(shè)服務(wù)器的選擇方式包括哪些免費(fèi)網(wǎng)絡(luò)推廣平臺(tái)有哪些
  • 企業(yè)網(wǎng)站內(nèi)容更新怎么操作網(wǎng)站收錄查詢?nèi)肟?/a>
  • 重慶網(wǎng)站建設(shè)重慶網(wǎng)站設(shè)計(jì)免費(fèi)入駐的賣貨平臺(tái)有哪些
  • 創(chuàng)新模式_提高質(zhì)量_建設(shè)一流的數(shù)學(xué)人才培養(yǎng)基地 教學(xué)成果獎(jiǎng)申報(bào)網(wǎng)站詳細(xì)描述如何進(jìn)行搜索引擎的優(yōu)化
  • 做網(wǎng)站只有域名哪個(gè)網(wǎng)站百度收錄快
  • 骨科醫(yī)院網(wǎng)站優(yōu)化服務(wù)商seo網(wǎng)絡(luò)推廣公司報(bào)價(jià)