国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項

這篇具有很好參考價值的文章主要介紹了Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??前言
本篇博文是關(guān)于Rest 風(fēng)格請求的應(yīng)用和注意事項,希望能夠幫助到您??

??個人主頁:晨犀主頁
??個人簡介:大家好,我是晨犀,希望我的文章可以幫助到大家,您的滿意是我的動力????
??歡迎大家:這里是CSDN,我總結(jié)知識的地方,歡迎來到我的博客,感謝大家的觀看??
如果文章有什么需要改進的地方還請大佬不吝賜教 先在此感謝啦??

Rest 風(fēng)格請求處理

基本介紹

Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項,SpringBoot,spring boot,spring,后端,java

REST:即Representational State Transfer。(資源)表現(xiàn)層狀態(tài)轉(zhuǎn)化。是目前流行的請求方式。它結(jié)構(gòu)清晰, 很多網(wǎng)站采用

  1. Rest 風(fēng)格支持(使用HTTP 請求方式動詞來表示對資源的操作)
  2. 舉例說明:
    ● 請求方式: /monster
    ● GET-獲取怪物
    ● DELETE-刪除怪物
    ● PUT-修改怪物
    ● POST-保存妖怪

SpringBoot Rest 風(fēng)格應(yīng)用實例

需求: 演示SpringBoot 中如何實現(xiàn)Rest 風(fēng)格的增刪改查

Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項,SpringBoot,spring boot,spring,后端,java

應(yīng)用實例

1.創(chuàng)建com/nlc/web/controller/MonsterController.java

@RestController
//@Controller
public class MonsterController {

    //等價的寫法
    //@RequestMapping(value = "/monster",method = RequestMethod.GET)
    @GetMapping("/monster")
    public String getMonster() {
        return "GET-查詢妖怪";
    }

    //等價寫法
    //@RequestMapping(value = "/monster", method = RequestMethod.POST)
    @PostMapping("/monster")
    public String saveMonster() {
        return "POST-添加妖怪";
    }

    //等價寫法
    //@RequestMapping(value = "/monster",method = RequestMethod.PUT)
    @PutMapping("/monster")
    public String putMonster() {
        return "PUT-修改妖怪~~";
    }

    //等價寫法
    //@RequestMapping(value = "/monster", method = RequestMethod.DELETE)
    @DeleteMapping("/monster")
    public String delMonster() {
        return "DELETE-刪除妖怪";
    }

}
  1. 使用Postman 完成測試, 請求url: http://localhost:8080/monster

Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項,SpringBoot,spring boot,spring,后端,java

Rest 風(fēng)格請求-注意事項和細(xì)節(jié)

1、客戶端是PostMan 可以直接發(fā)送Put、delete 等方式請求,可不設(shè)置Filter
2、如果要SpringBoot 支持頁面表單的Rest 功能, 則需要注意如下細(xì)節(jié)

注意
  1. Rest 風(fēng)格請求核心Filter :HiddenHttpMethodFilter:瀏覽器form 表單只支持GET 與POST 請求,而DELETE、PUT等method 并不支持,Spring 添加了一個過濾器,可以將這些請求轉(zhuǎn)換為標(biāo)準(zhǔn)的http 方法,使得支持GET、POST、PUT 與DELETE 請求。
  2. 、HiddenHttpMethodFilter 在將post 轉(zhuǎn)成delete / put 請求時,是按_method 參數(shù)名來讀取的。
  3. 表單請求會被HiddenHttpMethodFilter 攔截, 獲取到表單_method 的值, 再判斷是PUT/DELETE/PATCH(注釋: PATCH 方法是新引入的,是對PUT 方法的補充,用來對已知資源進行局部更新:https://segmentfault.com/q/1010000005685904)。
  4. 如果要SpringBoot 支持頁面表單的Rest 功能, 需要在application.yml 啟用filter 功能,否則無效。
  5. 修改application.yml 啟用filter 功能。
spring:
  mvc:
    static-path-pattern: /res/** #修改靜態(tài)資源訪問的路徑/前綴
    hiddenmethod:
      filter:
        enabled: true #啟用了HiddenHttpMethodFilter,開啟頁面表單的Rest功能
  web:
    resources:
      #修改/指定 靜態(tài)資源的訪問路徑/位置
      static-locations: ["classpath:/img/","classpath:/META-INF/resources/",
                         "classpath:/resources/", "classpath:/static/", "classpath:/public/"]
                         #String[] staticLocations
  1. 修改對應(yīng)的頁面, 自己測試即可.
  • 創(chuàng)建src\main\resources\public\rest.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>rest</title>
</head>
<body>
<h1>測試rest風(fēng)格的url, 來完成請求.</h1>
<form action="/monster" method="post">
    u: <input type="text" name="name"><br/>
    <!--    通過隱藏域傳遞_method 參數(shù)指定值-->
    <!--如果要測試delete, put , 就打開下面的注釋-->
	<!-- <input type="hidden" name="_method" value="delete">-->
    <input type="submit" value="點擊提交">
</form>
</body>
</html>
  1. 完成測試, 注意url 是localhost:8080/res/rest.html, 如果希望url 是localhost:8080/rest.html, 將application.yml 文件的static-path-pattern: /res/** 注銷即可

Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項,SpringBoot,spring boot,spring,后端,java

Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項,SpringBoot,spring boot,spring,后端,java

小細(xì)節(jié):思考

為什么這里return “GET-查詢妖怪”, 返回的是字符串, 而不是轉(zhuǎn)發(fā)到對應(yīng)的資源文件?

解讀:

因為@ResController 是一個復(fù)合注解, 含有@ResponseBody, 所以springboot 底層(springmvc), 在處理return “xxx” 時, 會以@ResponseBody 注解進行解析處理, 即返回字符串"xxx", 而不會使用視圖解析器來處理。
我們可以試一下, 如果我們把@RestController 改成@Controller , 當(dāng)你訪問getMonster() 時, 如果你有xxx.html就會轉(zhuǎn)發(fā)到xxx.html , 如果沒有xxx.html , 就會報404。
提示: 在測試時, 將xxx.html 放在main\resources\public\xxx.html 進行測試, 并在application.yml 配置視圖解析器

@GetMapping("/monster")
public String getMonster() {
	return "GET-查詢妖怪";
}

—在application.yml 配置解析器-----

spring:
 mvc:
  view:
   suffix: .html   #后綴
   prefix: /    #前綴

—提示: 測試完后, 把代碼恢復(fù)原狀-----

使用Postman 進行測試, 可能出現(xiàn)的問題和解決方案分析.

Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項,SpringBoot,spring boot,spring,后端,java

如何解決

spring:
  mvc:
#    static-path-pattern: /res/** #修改靜態(tài)資源訪問的路徑/前綴
    hiddenmethod:
      filter:
        enabled: true #啟用了HiddenHttpMethodFilter,開啟頁面表單的Rest功能
    view:       #配置視圖解析器
      suffix: .html
      prefix: /        #這里是需要注意 prefix需要和當(dāng)前的static-path-pattern一致。如果不一致就無法訪問到靜態(tài)資源

??總結(jié)

  1. 不含有@ResponseBody時, springboot 底層(springmvc) 在處理return “xxx” 時是有順序的。
  2. 如果配置了視圖解析器,就按照視圖解析器來定位;如果沒有配置視圖解析器,就看controller有沒有/xxx
  3. HiddenHttpMethodFilter 在將post 轉(zhuǎn)成delete / put 請求時,是按_method 參數(shù)名來讀取的。

??熱門專欄推薦
SpringBoot篇
SpringBoot容器–注解的使用
以數(shù)據(jù)為中心的標(biāo)記語言–yaml
SpringBoot 自動配置–常用配置
Spring Boot介紹–快速入門–約定優(yōu)于配置
安裝Lombok–Lombok的常用注解說明及使用方法
SpringBoot 依賴管理和自動配置—帶你了解什么是版本仲裁

文章到這里就結(jié)束了,如果有什么疑問的地方請指出,諸大佬們一起來評論區(qū)一起討論??
希望能和諸大佬們一起努力,今后我們一起觀看感謝您的閱讀??
如果幫助到您不妨3連支持一下,創(chuàng)造不易您們的支持是我的動力??文章來源地址http://www.zghlxwxcb.cn/news/detail-642214.html

到了這里,關(guān)于Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 原生js XMLHttpRequest發(fā)送 get post 請求 解決跨域 及 注意事項

    2、使用xhr發(fā)起GET請求 四個步驟: ①:創(chuàng)建 xhr對象 ②:調(diào)用 xhr的open()函數(shù)(open中傳遞兩個參數(shù),參數(shù)一是GET/POST請求方式,參數(shù)二是請求的URL地址) ③:調(diào)用 xhr.send()函數(shù) ④:監(jiān)聽 xhr.onreadystatechange事件 xhr發(fā)起GET請求的完整代碼 直接上示例 報錯內(nèi)容是這個 Failed to execute

    2024年02月16日
    瀏覽(20)
  • 使用接口調(diào)試軟件(PostMan和APIPost)的技巧和注意事項(附加Get和Post請求區(qū)別)

    使用接口調(diào)試軟件(PostMan和APIPost)的技巧和注意事項(附加Get和Post請求區(qū)別)

    看完這篇文章,不僅能學(xué)會使用接口調(diào)試軟件,還能 高效 的生成接口說明文檔 首先,先來告訴各位Get請求和Post請求的區(qū)別 (記?。撼藰?biāo)注是Post的請求,其他都是Get請求) Get請求有: (1). form標(biāo)簽method=get (2). a標(biāo)簽 (3). Iink標(biāo)簽引入css (4). Script標(biāo)簽引入js文件 (5). img標(biāo)簽引入

    2024年04月12日
    瀏覽(40)
  • 學(xué)習(xí)Linux的注意事項(使用經(jīng)驗;目錄作用;服務(wù)器注意事項)

    學(xué)習(xí)Linux的注意事項(使用經(jīng)驗;目錄作用;服務(wù)器注意事項)

    本篇分享學(xué)習(xí)Linux過程中的一些經(jīng)驗 Linux嚴(yán)格區(qū)分大小寫 Linux中所有內(nèi)容以文件形式保存 ,包括硬件,Linux是以管理文件的方式操作硬件 硬盤文件是 /dev/sd[a-p] 光盤文件是 /dev/sr0 等 對于設(shè)置需要寫入文件,命令行的設(shè)置在重啟之后就會失效,只有下入文件才可以保存下來 文

    2024年02月11日
    瀏覽(48)
  • 弱電線布線注意什么?弱電線布線的注意事項

    弱電 弱電一般是指直流電路或音頻、視頻線路、網(wǎng)絡(luò)線路、電話線路,直流電壓一般在36V以內(nèi)。家用電器中的電話、電腦、電視機的信號輸入(有線電視線路)、音響設(shè)備(輸出端線路)等用電器均為弱電電氣設(shè)備。 弱電線的種類如:電話線、網(wǎng)絡(luò)線、有線電視線及音響線

    2024年02月07日
    瀏覽(23)
  • 鋼網(wǎng)的清洗注意事項

    在smt貼片加工的生產(chǎn)過程中,由于鋼網(wǎng)受重力影響會變形、定位可能會有不準(zhǔn)確、支撐沒有到位或者是設(shè)計等其他問題,這樣的話在錫膏印刷的時候鋼網(wǎng)和電路板的焊盤之間很難形成理想的密封狀態(tài),在SMT貼片加工的過程中,會引起焊錫膏在鋼網(wǎng)跟電路板的空隙間擠出來,并

    2024年02月11日
    瀏覽(21)
  • 算法競賽個人注意事項

    算法競賽個人注意事項

    淺淺記錄一下自己在算法競賽中的注意事項。 注意看數(shù)大小,數(shù)學(xué)庫中的函數(shù)盡量加上 * 1.0 , 轉(zhuǎn)成double,防止整型溢出。 , int 型相乘如果可能溢出,乘 * 1LL 。 數(shù)據(jù)范圍大于1e6,注意用快讀。 浮點數(shù)輸入輸出: 取模,注意取成負(fù)數(shù)的情況。 全 int ,但是數(shù)據(jù)太大,全轉(zhuǎn)

    2024年02月09日
    瀏覽(28)
  • 低代碼選型注意事項

    低代碼選型注意事項

    憑借著革命性的生產(chǎn)力優(yōu)勢,低代碼技術(shù)火爆了整個IT圈。面對紛繁復(fù)雜的低代碼和無代碼產(chǎn)品,開發(fā)者該如何選擇? 在研究低代碼平臺的年數(shù)上,本人已有3年,也算是個低代碼資深用戶了,很多企業(yè)面臨低代碼選型上的困難,選平臺容易,換平臺難。下面基于個人理解給大

    2024年02月03日
    瀏覽(25)
  • 面試求職-面試注意事項

    面試技巧和注意事項有哪些? 面試是找工作過程中最重要的一個環(huán)節(jié),因為面試成功,你才有可能得到一份工作。求職面試技巧有哪些呢?首先,我們來看看面試注意事項。 1、面試前有沒有仔細(xì)了解過對應(yīng)企業(yè)的情況,對方的企業(yè)文化、主營業(yè)務(wù)、未來的發(fā)展方向。如果跑過

    2024年02月09日
    瀏覽(21)
  • postman調(diào)試注意事項

    Postman是一個強大的API調(diào)試工具,它可以幫助開發(fā)人員測試和調(diào)試API端點,以確保它們按預(yù)期工作。在使用Postman進行接口調(diào)試時,以下是一些注意事項和可能出現(xiàn)的問題,以及如何解決這些問題。 確保請求參數(shù)正確 在測試API接口時,確保您提供了正確的請求參數(shù)非常重要。

    2024年02月10日
    瀏覽(26)
  • RabbitMQ開發(fā)注意事項

    在使用 RabbitMQ 進行消息隊列的開發(fā)過程中,有一些注意事項需要牢記: 安全性:確保正確配置 RabbitMQ 實例的安全性。限制對 RabbitMQ 服務(wù)器的訪問權(quán)限,并使用安全的認(rèn)證機制(如用戶名和密碼)來保護連接。 錯誤處理:在消費者端,務(wù)必處理可能發(fā)生的異?;蝈e誤情況。

    2024年02月07日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包