Perkara yang paling penting untuk diketahui ialah bekas Spring atau IOC. Di samping itu, anda mesti mempunyai pengetahuan asas tentang anotasi Java. Kerana aplikasi Spring Boot penuh dengan anotasi. Akhir sekali, konsep REST harus dijelaskan, sekurang-kurangnya konsep asas. Contohnya, GET, POST, PUT, DELETE dan Request body and response, header, dsb.
Perkara terbaik tentang Spring Boot ialah ia mempunyai aplikasi web untuk bermula. Hanya klik pada beberapa medan dan butang borang dan anda akan menyediakan fail permulaan anda. Ini termasuk pom. xml yang mengandungi semua kebergantungan yang diperlukan. Hanya pergi ke Spring Initializer: https://start.spring.io/. Isikan data yang sesuai seperti yang ditunjukkan dalam tangkapan skrin di bawah. Kemudian klik butang Tambah Ketergantungan di sudut kanan atas. Taip dan pilih Web. Saya juga akan menambah Lombok untuk balak dan Pojo.
Setelah selesai, cuma klik butang jana dan fail zip (pom.xml) yang mengandungi fail ini akan dimuat turun. Buka zip dan buka dalam IDE. Saya akan menggunakan IntelliJ IDEA. IDE ini membantu saya memanfaatkan pelbagai ciri untuk meningkatkan kecekapan kerja saya. IDE yang biasa digunakan pemalam
Seluruh Spring Boot bergantung pada anotasi. Terdapat pelbagai nota untuk keperluan dan prosedur yang berbeza. Bahagian selebihnya mempunyai 4-5 nota utama. Mari kita lihat mereka satu per satu dan menerapkannya dalam contoh kita. Anotasi
digunakan pada kelas @RestController@RestController
. Ia mentakrifkan kelas sebagai pengawal untuk Rehat. Ini ialah versi RESTful pengawal dengan penambahan kombinasi ResponseBy
. Dengan cara ini, respons anda ditukar secara automatik kepada JSON, XML atau mana-mana jenis respons yang ditentukan tanpa memerlukan anotasi ResponseBy
yang berasingan.
@RestController public class ArticleRestController {}
Selebihnya anotasi digunakan di bawah kelas @RestController
.
digunakan untuk memetakan titik akhir tertentu kepada fungsi atau kaedah. Ini membantu menentukan laluan titik akhir, kaedah, jenis respons, jenis permintaan, dsb.
@RequestMapping(value = "/articles", method = RequestMethod.GET, produces = "application/json") public List<Article> getArticles() { }
Dalam contoh di atas, nilai mewakili laluan yang dipetakan. Contohnya, localhost:8080/articles. Jenis kaedah ialah GET, yang menjana "application/json
" sebagai respons (namun, ini adalah lalai dan anda boleh melangkaunya).
Parameter pertanyaan dalam URL, iaitu, ?key=value&key1=value1
diperoleh dengan anotasi @RequestParam
. Ini digunakan untuk parameter fungsi. Ia mempunyai pelbagai pilihan seperti required
, defaultValue
, dsb. Kemudian muatkan parameter pertanyaan ke dalam parameter yang ditentukan.
@RequestMapping(value = "/article", method = RequestMethod.GET) public Article getArticleByName( @RequestParam(value = "articleName", required = true) String articleName ) {}
Dalam contoh di atas, jika kita memanggil URL GET localhost/artikel? articleName=springboot, "springboot" akan dimuatkan dalam parameter articleName. Saya telah meletakkan reuired=true
jadi jika kita tidak lulus articleName
ia akan menimbulkan ralat kepada pengguna.
Pernah tertanya-tanya bagaimana pelayan mengetahui artikel yang hendak dimuatkan tanpa menghantar parameter pertanyaan? Lihat URL siaran ini URL siaran tidak mengandungi parameter pertanyaan, tetapi rentetan sempadan garis miring biasa. Pelayan membacanya dengan bantuan PathVariable
dan ia kelihatan seperti ini, /article/{articleslaug}
. Sebarang rentetan yang menggantikan {articleSlug}
akan dianggap sebagai PathVariable
.
@RequestMapping(value = "/article/{articleSlug}", method = RequestMethod.GET) public Article getArticle(@PathVariable("articleSlug") String articleSlug) {}
Ingat bahawa {articleSlug}
hendaklah sama dalam RequestMapping
dan PathVariable
(tanpa {}
). Jika ia tidak sepadan, ia tidak akan dimuatkan.
Untuk kaedah POST atau PUT, anda tidak mendapat semua data melalui URL, bukan? Kaedah ini mempunyai badan permintaan yang sesuai. RequestBody
Anotasi membantu secara automatik memetakan kandungan permintaan yang diberikan kepada parameter. Terutamanya JSON kepada POJO. Badan permintaan
@RequestMapping(value = "/article", method = RequestMethod.POST) public Article createArticle(@RequestBody NewArticlePojo newArticle){}
akan dipetakan secara automatik ke kelas NewArticlePojo
dan medan akan diisi berdasarkan kekunci.
Dalam penjelasan di atas, anda mesti melihat bahawa saya telah menulis RequestMapping
menggunakan kaedah tertentu. Tetapi ini terlalu berlebihan. Untuk menyelesaikan masalah ini, Spring Boot menyediakan pemetaan kaedah yang telah ditetapkan. Ini hanyalah sambungan kepada @RequestMapping
.
@GetMapping
digunakan untuk menggantikan RequestMapping
dengan method=RequestMethod
. Dapatkan parameter. Sekarang dengan melihatnya, kami tahu ini adalah permintaan GET.
PostMapping
digantikan dengan method=RequestMethod
untuk RequestMapping
. Begitu juga, PutMapping
akan menggantikan method=RequestMethod
RequestMethod.PUT
Atas ialah kandungan terperinci Apakah anotasi rangka kerja biasa untuk Spring Boot Rest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!