Rumah >Java >javaTutorial >Cara menggunakan permintaan PUT dan Padam dalam SpringBoot
Dalam borang Borang, hanya kaedah get dan post sahaja disokong Untuk melaksanakan kaedah put
<input type="hidden" name="_method" value="put" th:if="${employee!=null}"/>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>Cara menyokong permintaan letak/padamSemua 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>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
<!--http请求方式--> <form action="..." method="post"> <input type="hidden" name="_method" value="put" /> <!--value值改成delete 请求方式就为delete了--> </form>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; }
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!