Rumah > Java > javaTutorial > Cara menggunakan permintaan PUT dan Padam dalam SpringBoot

Cara menggunakan permintaan PUT dan Padam dalam SpringBoot

WBOY
Lepaskan: 2023-05-13 12:16:06
ke hadapan
1937 orang telah melayarinya

Permintaan PUT dan Delete gunakan

Dalam borang Borang, hanya kaedah get dan post sahaja disokong Untuk melaksanakan kaedah put

kita boleh melaksanakannya melalui tiga langkah berikut <.>

1) Konfigurasikan HiddenHttpMethodFilter dalam SpringMVC

2) Cipta borang catatan pada halaman

3) Cipta item input, name="_method", nilai adalah yang ditentukan kaedah permintaan

Antaranya, dalam kelas HiddenHttpMethodFilter,

Cara menggunakan permintaan PUT dan Padam dalam SpringBoot

mendapat nilai "_method" dan mendapat kaedah permintaan baharu.

Cara menggunakan permintaan PUT dan Padam dalam SpringBoot

<input type="hidden" name="_method" value="put" th:if="${employee!=null}"/>
Salin selepas log masuk

Teg ke-1 ialah templat thymeleaf, yang bermaksud ia hanya akan berkuat kuasa apabila pekerja tidak kosong dan nilai yang dimasukkan tidak peka huruf besar-besaran.

Dalam versi baharu SpringBoot, permintaan letak ini tidak berfungsi. Sebabnya ialah springboot mengkonfigurasi secara automatik, yang membantu kami meninggalkan langkah pertama konfigurasi Kaedah kod di atas adalah untuk mencapai konfigurasi automatik, tetapi kerana anotasi @ConditionalOnProperty mengehadkan konfigurasi automatik, palsu lalai tidak mendayakan konfigurasi, jadi penyerahan put. halaman tidak boleh digunakan.

Penyelesaian

Konfigurasikan dalam fail konfigurasi sifat untuk mendayakan konfigurasi automatik: spring.mvc.hiddenmethod.filter.enabled=true.

Selain itu, permintaan DELETE juga boleh disediakan dengan cara yang sama.

<form th:action="@{/emp/}+${emp.id}" method="post">
	<input type="hidden" name="_method" value="delete"/>
	<button type="submit" class="btn btn-sm btn-danger" > 删除</button>
</form>
Salin selepas log masuk

Cara menyokong permintaan letak/padam

Semua orang yang telah mempelajari MVC tahu bahawa jika anda ingin menyokong dua permintaan khas ini, anda mesti mengkonfigurasi penapis berikut terlebih dahulu dalam web.xml:

<!--增加一个HiddenHttpMethodFilter过滤器:目的是给普通浏览器 增加put|delete请求方式-->
    <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
Salin selepas log masuk

SpringBoot tidak begitu menyusahkan, kerana ia telah membantu kami memasukkan HiddenHttpMethodFilter ke dalam bekas IOC secara lalai, jadi penggunaannya amat mudah:

1 Dalam Konfigurasi application.properties dalam

#开启支持put delete请求的过滤器
spring.mvc.hiddenmethod.filter.enabled=true
Salin selepas log masuk

2. Apabila digunakan, ia masih sama seperti springmvc

Cuma tambah medan tersembunyi berikut pada bentuk borang kaedah permintaan pos:

     <!--http请求方式-->
     <form action="..."  method="post">
         <input type="hidden" name="_method" value="put" />
         <!--value值改成delete 请求方式就为delete了-->
     </form>
Salin selepas log masuk

Perhatikan yang tersembunyi medan di atas Nama mestilah "_method". Jika anda ingin mengubah suainya, anda perlu menambah kacang berikut pada IOC:

@Bean
public HiddenHttpMethodFilter hiddenHttpMethodFilter(){
    HiddenHttpMethodFilter methodFilter = new HiddenHttpMethodFilter();
    methodFilter.setMethodParam("_m");//将隐藏域 _method --> _m
    return methodFilter;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Cara menggunakan permintaan PUT dan Padam dalam SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan