عندما نحتاج إلى تقديم خدمات للعالم الخارجي من خلال الواجهة المريحة ، إذا تم فصل الهندسة المعمارية عن الأمام والخلف في هذا الوقت ، فسيتضمن مشكلات عبر المجال. كيف تحل مشكلات النطاقات المتقاطعة؟ دعنا نناقش هذه القضية أدناه.
الحل 1: أضف strensation anotation على وحدة التحكم
كيفية استخدامه على النحو التالي:
crossorigin // طريقة التعليق التوضيحي @RestController معالجات الفئة العامة {crossorigin (allowReDentials = "true" ، levelededers = "*" ، methods = {requestMethod.get ، requestMethod.post ، requestMethod.delete Origins = "*") postmapping ("/inscription") معالج الاستجابة العامة (requestbody request json) {return null ؛ }} الحل 2: التكوين العالمي
الرمز كما يلي:
Configuration الفئة العامة myConfiguration {bean public webmvcconfigurer corsconfigurer () {return new WebMvcConfigureRadapter () {Override public void addCorsMappings (registry) }} ؛ }} الحل 3: استخدام مع مرشح
في الفئة الرئيسية من الحذاء الربيعي ، أضف corsfilter
/** * * الانتباه: يمكن أن تكون هناك طلبات متشابكة ، ورأسها ونشرها ، ولكن لا يمكن أن يكون "نوع المحتوى" لطلب النشر فقط هو التطبيق/X-WWW-form-urlencoded ، multipart/form-data أو text/plain * خلاف ذلك ، فهو لا يكون مسملاً بسيطًا. هناك آلية ما قبل الرحلة لهذا المجال المتقاطع. لوضع الأمر بصراحة ، سيصدر طلبين ، وطلب خيارات واحد ، وطلب حقيقي واحد*/ bean public corsfilter corsfilter () {final urlbasedcorsconfigurationsource source = new urlbasedcorsconfigurationsource () ؛ التكوين النهائي corsconfiguration = جديد corsconfiguration () ؛ config.setallowcredentials (true) ؛ // السماح لملفات تعريف الارتباط بالتكوين المتقاطع. // #allowed uri من الطلبات إلى هذا الخادم ، * يعني كل ما هو مسموح به. في springMVC ، إذا تم تعيينه على *، فسيتم تحويله تلقائيًا إلى Origin config.addallyedheader (" *") ؛ // #add للوصول إلى رأس ، * يعني جميع config.setMaxage (18000L) ؛ . // الطرق التي تسمح بتقديم الطلبات ، * تعني أن الجميع يسمحون بالتكوين. config.addallowedMethod ("get") ؛ // السماح طريقة طلب الحصول على config.addallowedMethod ("put") ؛ config.addallowedMethod ("post") ؛ config.addallowedMethod ("delete") ؛ config.addallowedMethod ("patch") ؛ source.registerCorsConfiguration ("/**" ، config) ؛ إرجاع Corsfilter الجديد (المصدر) ؛ } بالطبع ، إذا كان هناك العديد من الخدمات المجهرية ، فأنت بحاجة إلى إضافة مثل هذا الرمز إلى الفئة الرئيسية من كل خدمة ، والتي تنتهك المبدأ الجاف. تتمثل المقاربة الأفضل في حل مشكلات النطاقات المتقاطعة عند طبقة بوابة Zuul ، مرة واحدة وإلى الأبد.
لمزيد من المعلومات حول الواجهة الأمامية ، يرجى الرجوع إلى: http://www.vevb.com/article/83093.htm
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.