Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengendalikan Pembolehubah Laluan Terpenggal dengan Aksara Khas dalam Spring MVC @PathVariable?

Barbara Streisand
Lepaskan: 2024-10-30 12:37:27
asal
680 orang telah melayarinya

How to Handle Truncated Path Variables with Special Characters in Spring MVC @PathVariable?

Mengatasi Pembolehubah Laluan Terpenggal dalam Spring MVC dengan @PathVariable

Masalah:

Semasa menggunakan Spring MVC dengan @PathVariable untuk pembangunan API RESTful, telah diperhatikan bahawa pembolehubah laluan yang mengandungi aksara khas semakin dipotong. Khususnya, apabila pembolehubah laluan seperti "blah2010.08.19-02:25:47" disediakan, hanya bahagian sehingga tempoh pertama (iaitu, "blah2010.08") sedang ditangkap oleh @PathVariable.

Punca:

Secara lalai, Spring MVC menganggap argumen @PathVariable sebagai rentetan mudah dan mengharapkannya mengikut peraturan pemformatan parameter URL tertentu. Peraturan ini termasuk sekatan ke atas aksara yang dibenarkan dalam pembolehubah laluan, dengan aksara khas seperti noktah dan sempang ditafsirkan sebagai pembatas nilai. Akibatnya, Spring memotong pembolehubah laluan pada tika pertama aksara yang tidak sah.

Penyelesaian:

Untuk mengelakkan Spring daripada memotong nilai @PathVariable, adalah perlu untuk secara eksplisit nyatakan bahawa hujah harus menerima julat aksara yang lebih luas. Ini boleh dicapai dengan menggunakan ungkapan biasa dalam anotasi @RequestMapping.

Sebagai contoh, untuk membenarkan pembolehubah laluan mengandungi noktah, sempang dan aksara khas lain, ungkapan biasa berikut boleh digunakan:

@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName:.+}")
Salin selepas log masuk

Akhir ". " dalam ungkapan biasa menunjukkan bahawa pembolehubah laluan {blahName} harus sepadan dengan mana-mana rentetan yang tidak kosong, dengan berkesan menangkap semua aksara dalam laluan yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Pembolehubah Laluan Terpenggal dengan Aksara Khas dalam Spring MVC @PathVariable?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!