
micro, מעתיקים את סקריפט ה-start מההרצאה הקודמת ומחליפים את הפורט.axios, ספרייה שמאפשרת לבצע get, post, put, patch ו-delete ומחזירה Promise. הפונקציה מוגדרת async כדי להשתמש ב-await.do...while קוראים ל-await axios.get עם הכתובת של המיקרוסרביס הראשון ואת האורך. הסיסמה נמצאת ב-result.data, כי ב-result יש גם נתונים אחרים ש-Axios מחזירה.isStrongPassword מחזירה false, מבקשים סיסמה חדשה עד שמתקבלת חזקה.smallLetter, capitalLetter ו-digit, ורק אם שלושתם true הסיסמה חזקה.generateStrongPassword עם module.exports ומריצים npm start.return הכל עבד.הטקסט המלא של הדקות הראשונות בהרצאה «מיקרוסרביס שמשתמש במיקרוסרביס אחר» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
כעת אנחנו רוצים לבנות מייקרו סרוויס שמשתמש עם המייקרו סרוויס שבנינו כי ראינו בהתחלה שיש פה בעצם ממש רשת של מייקרו סרוויסים שמשתמשים במייקרו סרוויסים אחרים בשביל לתת את המענה הכללי של כל המערכת אבל לצורך כך אנחנו צריכים להשאיר את המייקרו סרוויס שבנינו רץ הנה הוא זה שמג'נרט לנו סיסמה חדשה אנחנו רואים שהוא רץ ועובד אנחנו יכולים לג'נרט סיסמה בכל גודל שאנחנו
רוצים. הנה סיסמה בגודל 5. רגע, סיסמה בגודל 5. וכעת אני הולך ל-visual studio נוסף, ריק לגמרי. הדבר הראשון שאני מתקין NPMI זה את מיקרו, Go וכמובן אנחנו צריכים לגשת ולעדכן כאן את הסקריפטס.
בואו פשוט נעתיק את השורה שרשמנו פה בסרטון הקודם, נדביק אותה כאן, כאשר הפורט שלנו יהיה פורט אחר כמובן, כי זה מייקרו סרוויס אחר.
כעת אנחנו יכולים לחזור ולבנות אותו. עכשיו, איך ממייקרו סרוויס אחד אנחנו ניגשים למייקרו סרוויס אחר? אנחנו צריכים פה איזושהי ספרייה שמאפשרת ב-Node.js לבצע מעין גלישת אג'אקס לספרייה אחרת.
הספרייה הכי נוחה לשימוש, בואו נתקין אותה, זה access. access מאפשרת לנו לבצע כל גלישה שאנחנו רוצים. מה כתבתי שם? npm i access, למה הוא לא נותן לי?
בואו ננסה עוד פעם, לא נותן. זה מוזר. בואו נבצע סגירה, נריץ את זה מחדש. יש לנו פה את access, הצליח.
לא יודע מה הייתה הבעיה, אבל יש לנו כרגע את אקשס והיא מאפשרת לבצע כל גלישה שאנחנו רוצים מבחינת ה-Restful Service. Get, Post, Put, Patch, Delete, בצורה פשוטה.
היא מחזירה פרומיסים, אז מאוד קל להשתמש איתה, תכף אתם תראו. אז מה שאנחנו רוצים זה קודם כל את אקשס. וייר, אקשס, גוד.
ואנחנו רוצים לבנות פונקציה. כמובן שאם אנחנו רוצים לבצע קנייה לפונקציה שמחזירה פרומיס עם המילה await אז נגדיר את הפונקציה שלנו כ-async ובואו נחשוב רגע מה מיקרו סרוויס הזה יעשה הרי מיקרו סרוויס בסופו של דבר עושה פעולה וגם הוא צריך להחזיר איזה תשובה אז בוא נניח שאנחנו רוצים לא לייצר סיסמה בלבד אלא סיסמה חזקה אנחנו
רוצים לייצר סיסמה שהיא strong password מה שנקרא אז הנה יש לנו generate strong password שמקבלת request, response וגם כאן יש לנו את אותו הקוד ששולף את האורך של הסיסמה.
בואו נחזור בחזרה לפה וניקח את קטע הקוד הזה שרק שולף את הגודל של הסיסמה הדרוש ומה שאנחנו רוצים לעשות זה, יש לנו פה משתנה פסוורד ו-Do while. קודם כל אנחנו רוצים, אנחנו רוצים result לגשת ל-Await access to get the value from the microservice.
לאן אנחנו רוצים לגלוש? בדיוק למיקרו סרוויס הזה. בואו נעתיק, נדביק ונשרשר את ה-length. שה-length יכול להכיל מספר כלשהו, אם אין לנו אז את המספר 10 כדיפולט ושימו לב שהמייקרוסרוויס הראשון שבנינו רץ על 3001 המייקרוסרוויס הזה ירוץ על 3002. כעת אנחנו מקבלים את
הריזולט בחזרה היאקשס מחזירה פרומיס שלפנו ממנו את התוצאה והסיסמה עצמה נמצאת בריזולט נקודה דאטה אוקיי ריזולט זה לא התשובה שמוחזרת ריזולט דאטה זאת התשובה שמוחזרת כי בריזולט יש כל מיני דברים ש-access מחזירה לנו.
ומה שאנחנו רוצים לבצע זה לבדוק האם הסיסמה