Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 28258|Atbildi: 2

[Avots] Praktiskā darbība: AOP Spring Boot dinamiski maina pieprasījuma parametra vērtību

[Kopēt saiti]
Publicēts 06.11.2021 12:15:55 | | | |
Prasības: Projektam ir dinamiski jāmaina pieprasījuma parametri, lai piešķirtu vērtības pieprasījuma parametriem atbilstoši pašreizējā lietotāja atļaujām, pirms parametri ievada kontroliera metodi, ir jāpabeidz pieprasījuma parametru modifikācija, un, kad kontrolieris izsauc pakalpojumu slāni, pieprasījuma parametrus var izmantot kā nosacījumus datu vaicāšanai un modificēšanai. Ir divi parametru pieprasīšanas gadījumi:

  • Lietotājiem ar augstām privilēģijām varat izmantot faktiski pieprasītās parametru vērtības
  • Personām ar tikai daļējām atļaujām pieprasījuma parametru vērtības tiek dinamiski modificētas, pamatojoties uz informāciju, kas saistīta ar pašreizējo lietotāju


Sākumā es gribēju to ieviest, izmantojot filtru, bet tas bija pārāk apgrūtinoši, lai serializētu un deserializētu pieprasījuma saturu, un tas prasīja arī daudz loģiska sprieduma un veiktspējas zuduma. Par laimi, Spring nodrošina AOP uz seju orientētu funkcionalitāti, ko var īstenot ar vienkāršu kodu.

Pirmkārt, maven projekta pom.xml ir jāievieš atsperes-boot-starter-aop pakete šādi:

Kad pakete ir ieviesta, mēs varam izmantot AOP funkciju, izmantojot@AspectAnotācija.

Aspect atbalsta 5 veidu paziņojumu anotācijas:

@Before: Iepriekšēja paziņošana, kas tiek izpildīta pirms metodes izpildes

@After: Pēcpaziņojums, izpildīts pēc metodes izpildes

@AfterRunning: Atgriež paziņojumu, kas tiek izpildīts pēc tam, kad metode atgriež rezultātu

@AfterThrowing: paziņojums par izņēmumu, pēc tam, kad metode rada izņēmumu

@Around: Aptveroši paziņojumi, ap metodes izpildi

Izveidojiet Request.java vispārīgu pieprasījumu iesaiņojuma klasi:

Izveidojiet jaunu UserInfo.java pieprasīt konkrētu datu klasi:

Ja pašreizējai pieprasījuma galvenei ir appid, pieprasījuma parametra appId vērtība tiks mainīta, pretējā gadījumā pieprasījuma parametrs netiks mainīts, kods ir šāds:

Izveidojiet jaunu HomeController kontrolieri un pievienojiet saskarni ar pieprasījuma parametru, kas satur pieprasījumu<UserInfo>, kods ir šāds:

Ja testēšana tiek veikta bez appId pieprasījuma galvenes, pieprasījuma parametrs appId ir faktiskā vērtība un nav modificēts, kā parādīts nākamajā attēlā.



Ja mēģināt pievienot appId pieprasījuma galveni, varat redzēt, ka appId pieprasījuma parametrs ir veiksmīgi modificēts, kā parādīts nākamajā attēlā.



Visbeidzot, pievienojiet avota kodu:Hipersaites pieteikšanās ir redzama.





Iepriekšējo:iPerf3 izmantošana, lai pārbaudītu ierīces tīkla sakaru ātrumu
Nākamo:Instalējiet iDRAC servisa moduļa programmatūru VMware ESXi
 Saimnieks| Publicēts 06.11.2021 12:21:32 |
Pavasara AOP biznesa loģika koncentrējas tikai uz pašu biznesu, sadalot reģistrēšanu, veiktspējas statistiku, drošības kontroli, darījumu apstrādi, izņēmumu apstrādi utt. no biznesa loģikas koda, un, atdalot šo uzvedību, mēs ceram, ka varēsim tos sadalīt metodēs, kas nevada biznesa loģiku, un pēc tam mainīt šo uzvedību, neietekmējot biznesa loģikas kodu.
Publicēts 15.03.2023 11:11:04 |
zsdfghjkvbjnm
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com