ריבוי פונקציות ב Web Api

מiטקה

New member
ריבוי פונקציות ב Web Api

אהלן,
יש לי web api עם 2 פונקציות
public Post(string name) {}public Post(string name, Guid id) {}

אני מנסה לקרוא לפונקציה הראשונה על ידי
[URL]http://.../MyController?name=myName[/URL]
ומקבל הודעת שגיאה 500 internal server error.
כאשר הפונקציה השניה לא מוגדרת (אני מוחק אותה) הכל פועלי כראוי.

קראתי את המסמך הזה [URL]http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-and-action-selection[/URL]
ואני מבין שבגלל שהוא מוצא פעמיים התאמה לפונקציה עם פרמטר בשם name הוא לא מצליח לזהות נכון את הפונקציה המתאימה.
האם יש דרך להסביר למערכת שהפוקציה המתאימה היא הראשונה מכיוון שאין id?

נ.ב. באותו המצב עם פונקציות Get, הכל פועל מצוין.

תודה רבה.
 

Royi Namir

New member
>

This is because , thinking restful , there is no logic to put more than 1 post method which is under the same class
&nbsp
One solution is to create a route which will include the method name
the webapi wont be able to choose which action to invoke.
&nbsp
 

מiטקה

New member
תודה לשניכם.

החכמתי בהבנה של routing.

סופו של דבר מה שפתר את הבעיה היה ליצור פונקציה יחידה.
public Post(string name, Guid? id = null) {}
לא יודע למה ניסיתי את זה אבל זה עבד.
מנגד, הקוד הבא מחזיר שגיאה 500.
public Post(string name, Guid id = default(Guid)) {}

תודה לכם.
 
למעלה