WebApi אשר מקבל json

בוקה3

New member
WebApi אשר מקבל json

שלום חברים, אני די חדש בטכנולוגיה הזו. אני צריך לבנות webapi אשר מקבל ב פוסט json. השאלה האם יש הבדל האם הפונקציה מקבלת string או משהו אחר ע"מ שבסוף יהיה ליjson. בניתי משהו פשוט אבל כאשר אני מפעיל את הwebapi, עושה debug, הערך שמתקבל הוא תמיד null. כרגע אין לי את הקוד כדי לעלות ושתראו, אבל אשמח שתעזרו לי עם דוגמה בבקשה. תודה רבה
 

BravoMan

Active member
השאלה שלך אינה מובנת כלל.

ראשית, לא ברור באיזו שפה אתה כותב.
שנית, לא ברור אם אתה משתמש בפריימוורק כלשהו שמטפל בפרמטרים של המתודה עבורך, או עובד נקי וניגש אליהם ישירות.
&nbsp
JSON הוא בסה"כ טקסט עם כמה כללים, שמקלים על תרגום שלו למבנה נתונים ב-JS.
וכמובן, יש הרבה פרסרים מוכנים עבורו בשפות רבות אחרות.
&nbsp
תמיד אפשר להתייחס אליו כ-string אחד גדול, אבל בהקשר של השאלה שלך לא ברור כלל מה המשמעות של הדבר הזה...
 

בוקה3

New member
מנסח שוב את השאלה

אני כותב WEBAPI בשפת c# .NET.
כחלק ממשימה בעבודה אני צריך לבנות WEBAPI בשיטה POST אשר מקבל JSON ומעביר אותו האלה.

ע"מ לבדוק מה שבניתי, אני משתמש בתוכנה Postman.

כפי שאתם רואים בתמונה, בניתי webApi אשר מקבל string, הFromBody לא כל כך הבנתי למה משתמשים, אבל ככה כאשר אני מפעיל את הpostman מגיע לפונקציה הזו, אבל הבעיה שלי היא שהערך מגיע NULL.

מקווה שהשאלה ברורה.

תודה רבה

 

nocgod

New member
עכשיו קצת יותר ברור

פעם הבאה תשתמש ב snipping tool שמובנה בwindows כדי לעשות screen shots... הכלי קיים כבר לא מעט שנים ואנשים עדיין מתעקשים לצלם עם הטלפון.

הנתיב שלך בaction של ה controller הוא api/PostGetFromData, מפה עולות לי כמה שאלות:
1. הנתיב בסיס שלך לא כולל כבר api? כי אם כן אתה מצפה עכשיו ל api/api/PostGetFromData - אתה צריך לבדוק אם ה global.asax של או ה startup.cs מגדירים נתיבי בסיס, אולי אפילו ה controller מגדיר איזשהו נתיב בסיס שעליו נבנים כל הנתיבים של ה actions (ככה אני הייתי עושה לפחות)
2. הנתיב של ה action שלך לא מכיל שום תוספות אחרי ה PostGetFromData - לעומת זאת כשאתה שולח את הבקשה ב postman אתה מוסיף עוד חלק לנתיב, ה yt - הוא לא יצליח למצוא את הנתיב ככה כי אתה שולח אותו למקום הלא נכון

אתה לא חייב לקבל string, אתה יכול לקבל אובייקט שהמודל שלו תואם את מבנה ה JSON שלך.
לגבי ה FromBody זה attribute שאומר ל binder מאיפה לנסות להוציא את המידע, ספציפית מה Body של ה request שלך (לעומת query parameters)


אני חושב שאתה קופץ קצת ראש למים עמוקים פה, נראה שאתה לא מכיר את הפריימוורק כ"כ. מה שכן האינטרנט מלא בדוגמאות ושאלות ופרוייקטים ב asp.net webapi, אפשר ללמוד את זה. אם יש לך היכרות עם פריימוורקים אחרים, אז את רוב הידע אפשר לתרגם מפה לפה כי סה"כ הרוב זה אותו הקקה רק בעטיפה אחרת.
 
למעלה