Rumah  >  Artikel  >  Java  >  Apakah anotasi rangka kerja biasa untuk Spring Boot Rest?

Apakah anotasi rangka kerja biasa untuk Spring Boot Rest?

王林
王林ke hadapan
2023-05-11 17:22:061291semak imbas

Prasyarat untuk memulakan Spring Boot Rest

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.

Buat projek Spring Boot dalam Spring Initializer

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.

Apakah anotasi rangka kerja biasa untuk Spring Boot Rest?

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

anotasi Spring Boot

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.

@RequestMapping

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).

@RequestParam

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.

@PathVariable

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.

@RequestBody

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.

Nota Khusus untuk Kaedah REST

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

@GetMapping digunakan untuk menggantikan RequestMapping dengan method=RequestMethod. Dapatkan parameter. Sekarang dengan melihatnya, kami tahu ini adalah permintaan GET.

@PostMapping dan @PutMapping

PostMapping digantikan dengan method=RequestMethod untuk RequestMapping. Begitu juga, PutMapping akan menggantikan method=RequestMethodRequestMethod.PUT

dengan

@DeleteMapping

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam