המשך של Basic controller.
לפעמים אנחנו רוצים לקבל ל-controller פרמטרים מורכבים ב-body. נכתוב פונקציה שתקבל Product מהמשתמש ומחזירה אותו. אל הפונקציה הזאת ניגש עם HttpPost. הפרמטרים שמגיעים עם בקשת post מגיעים ב-body של הבקשה ונכנסים בהתאמה לפרמטר שנתנו לפונקציה.
[HttpPost]
public ActionResult<Product> SendAndGetProduct(Product p) {
return Ok(p);
}
לצורך הדוגמא נשתמש ב-class הבא:
public class Product
{
public int id { get; set; }
public string? name { get; set; }
public string? description { get; set; }
public decimal price { get; set; }
}
אם נריץ את הפרוייקט נראה את שתי הפונקציות שיש לנו בקובץ ה-controller.
כאשר מבצעים בקשת post אנחנו יכולים להעביר נתונים מה-client ל-server ב-body.
אפשר לשנות את ה-url ואפשר גם לשלוח פרמטרים דרך ה-url כמו בבקשה get.
[HttpPost("SendProduct/{name}")]
public ActionResult<Product> SendAndGetProduct(string name, Product p) {
return Ok(p);
}