最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

"Method?Not?Allowed"405問(wèn)題分析以及解決方法

 更新時(shí)間:2022年10月13日 10:33:43   作者:可可西里的飛行  
項(xiàng)目中在提交表單時(shí),提示“HTTP 405”錯(cuò)誤——“Method Not Allowed”這里顯示的是,方法不被允許,下面這篇文章主要給大家介紹了關(guān)于"Method?Not?Allowed"405問(wèn)題分析以及解決方法的相關(guān)資料,需要的朋友可以參考下

首先,明確一點(diǎn)405問(wèn)題就是瀏覽器端(或客戶端)請(qǐng)求方法和服務(wù)端處理該路徑的請(qǐng)求的處理方法不一致造成的。

背景:

SpringBoot2.70整合JPA,測(cè)試單表的增刪改查

現(xiàn)象:

在用postman測(cè)試delete方法的時(shí)候遇到的

圖1: postman測(cè)試截圖

圖2:后端代碼塊

package com.xxxx.salesforecast.Controller;

import com.xxxx.salesforecast.pojo.User;
import com.xxxx.salesforecast.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 用戶外部接口
 *
 * @author : liuke
 * @date : 2022-06-22 14:20
 **/
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserRepository userRepository;

    /**
     * 插入
     *
     * @param user
     * @return
     */
    @PostMapping
    public String addUser(@RequestBody User user) {
        userRepository.save(user);
        return "success";
    }

    /**
     * 查詢?nèi)?
     *
     * @return
     */
    @GetMapping("")
    public List<User> getAllUser() {
        List<User> userList = userRepository.findAll();
        return userList;
    }

    /**
     * 根據(jù) id 刪除
     * @param id
     * @return
     */
    @DeleteMapping("/{id}")
    public String deleteUserById(@PathVariable Integer id){
        userRepository.deleteById(id.intValue());
        return "success";
    }
}

圖三:控制臺(tái)報(bào)錯(cuò)

排查解決過(guò)程:

第一步:大致檢查一下自己代碼,感覺(jué)沒(méi)問(wèn)題,開(kāi)始百度

第二步:百度得到的第一個(gè)方案,未解決

application.yml中添加
spring mvc: hiddenmethod: filter: enabled: true這個(gè)啟動(dòng)HiddenHttpMethodFilter過(guò)濾器,以支持瀏覽器可以發(fā)送DELETE PUT 請(qǐng)求。而我沒(méi)用瀏覽器發(fā)送請(qǐng)求,而是用postman,所以無(wú)用也正常。

第三步:嘗試將@DeleteMapping改成@RequestMapping,未解決

第四步:嘗試去掉@PathVariable 注解,未解決

第五步:想到,我用的是restful接口,增刪改查的路徑都是一樣,通過(guò)@PostMapping、@PutMapping、@DeleteMapping、@GeMapping來(lái)區(qū)分行為。

于是修改了方法的路徑,還是不行。但是這個(gè)時(shí)候不報(bào)405了,開(kāi)始報(bào)404了。

404,眾所周知一定是沒(méi)有匹配的路徑。

然后我終于發(fā)現(xiàn)了問(wèn)題的所在,下圖路徑

http://localhost:6060/user/delete?id=1

這里的id是以傳參的形式

而@DeleteMapping(“/delete/{id}”)的意思是id當(dāng)路徑

所以路徑改成

思考:那為什么之前都會(huì)報(bào)405的錯(cuò)誤呢?

因?yàn)槠ヅ涞搅瞬樵兊慕涌?,這個(gè)接口就是@GetMapping,所以和@DeleteMapping并不一致,就報(bào)了405錯(cuò)誤。

且這個(gè)接口不需要傳參,如果傳參了也是不會(huì)報(bào)錯(cuò)的,比如,我們?cè)L問(wèn)http://baidu.com 和 http://baidu.com/?sbbaidu=1是一樣的

總結(jié):

題出在我把@DeleteMapping(“/{id}”)的id當(dāng)路徑和路徑傳參弄混了。

到此這篇關(guān)于"Method Not Allowed"405問(wèn)題分析以及解決方法的文章就介紹到這了,更多相關(guān)Method Not Allowed 405問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Java?SSM項(xiàng)目部署上線配置方法(阿里云服務(wù)器ECS?+?云數(shù)據(jù)庫(kù)RDS?MySQL)(寶塔)

    詳解Java?SSM項(xiàng)目部署上線配置方法(阿里云服務(wù)器ECS?+?云數(shù)據(jù)庫(kù)RDS?MySQL)(寶塔)

    這篇文章主要介紹了Java?SSM項(xiàng)目部署上線(阿里云服務(wù)器ECS?+?云數(shù)據(jù)庫(kù)RDS?MySQL)(寶塔)的圖文教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-01-01
  • java讀取csv文件內(nèi)容示例代碼

    java讀取csv文件內(nèi)容示例代碼

    這篇文章主要介紹了java讀取csv文件內(nèi)容的示例,大家參考使用
    2013-12-12
  • MapStruct Plus的使用教程

    MapStruct Plus的使用教程

    MapStruct和MapStructPlus是Java類(lèi)型映射的工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • java如何防止表單重復(fù)提交的注解@RepeatSubmit

    java如何防止表單重復(fù)提交的注解@RepeatSubmit

    @RepeatSubmit是一個(gè)自定義注解,用于防止表單重復(fù)提交,它通過(guò)AOP和攔截器模式實(shí)現(xiàn),結(jié)合了線程安全和分布式環(huán)境的考慮,注解參數(shù)包括interval(間隔時(shí)間)和message(提示信息),使用時(shí)需要注意并發(fā)處理、用戶體驗(yàn)、性能和安全性等方面,失效原因是多方面的
    2024-11-11
  • 詳解Java并發(fā)包中線程池ThreadPoolExecutor

    詳解Java并發(fā)包中線程池ThreadPoolExecutor

    ThreadPoolExecutor是Java語(yǔ)言對(duì)于線程池的實(shí)現(xiàn)。線程池技術(shù)使線程在使用完畢后不回收而是重復(fù)利用。如果線程能夠復(fù)用,那么我們就可以使用固定數(shù)量的線程來(lái)解決并發(fā)問(wèn)題,這樣一來(lái)不僅節(jié)約了系統(tǒng)資源,而且也會(huì)減少線程上下文切換的開(kāi)銷(xiāo)
    2021-06-06
  • 關(guān)于Prometheus + Spring Boot 應(yīng)用監(jiān)控的問(wèn)題

    關(guān)于Prometheus + Spring Boot 應(yīng)用監(jiān)控的問(wèn)題

    這篇文章主要介紹了關(guān)于Prometheus + Spring Boot 應(yīng)用監(jiān)控的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java正則表達(dá)式,提取雙引號(hào)中間的部分方法

    Java正則表達(dá)式,提取雙引號(hào)中間的部分方法

    今天小編就為大家分享一篇Java正則表達(dá)式,提取雙引號(hào)中間的部分方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 一文搞懂Mybatis-plus的分頁(yè)查詢操作

    一文搞懂Mybatis-plus的分頁(yè)查詢操作

    說(shuō)起分頁(yè)機(jī)制,相信我們程序員都不陌生,今天,我就給大家分享一下Mybatis-plus的分頁(yè)機(jī)制,供大家學(xué)習(xí)和Copy,感興趣的可以了解一下
    2022-06-06
  • 詳解Java中對(duì)象序列化與反序列化

    詳解Java中對(duì)象序列化與反序列化

    這篇文章主要為大家詳細(xì)介紹了Java中對(duì)象序列化與反序列化,感興趣的小伙伴們可以參考一下
    2016-02-02
  • java?數(shù)組越界判斷和獲取數(shù)組長(zhǎng)度的實(shí)現(xiàn)方式

    java?數(shù)組越界判斷和獲取數(shù)組長(zhǎng)度的實(shí)現(xiàn)方式

    這篇文章主要介紹了java?數(shù)組越界判斷和獲取數(shù)組長(zhǎng)度的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論

永靖县| 固始县| 南江县| 商南县| 武清区| 昌图县| 米林县| 莎车县| 灵宝市| 连平县| 南阳市| 毕节市| 兴国县| 武威市| 福鼎市| 青田县| 周至县| 孝昌县| 苍溪县| 云南省| 德令哈市| 上饶市| 普安县| 武穴市| 广德县| 区。| 安徽省| 鞍山市| 特克斯县| 隆化县| 政和县| 繁昌县| 开阳县| 根河市| 高雄县| 高州市| 玉龙| 彰武县| 和平区| 嘉荫县| 台东县|