هشدار! برای استفاده از فایلهای .http باید Visual Studio 2022 version 17.6 به بعد با محیط ASP.NET and web development رو نصب داشته باشین.
همیشه برای امتحان کردن Endpoint پروژههای API که swagger ندارن مجبور به استفاده از ابزارهایی مثل Postman/Insomnia و یا ابزارهای Rest Client بودم. با توجه به وضعیت اینترنت و ابری شدن قابلیتهای این نرمافزارها (اهههم Postman) با محدودیتهای وقتگیری مواجه بودم تا چندوقت پیش که توسط یکی از همکارهام با فایلهای .http آشنا شدم.
این فایلها برای امتحان کردن Endpoint پروژههای API یه راهحل خیلی آسون ارائه میدن که تصور میکنم با curl یه سری شباهتهایی داره.
در ادامه یه مثال ازش ببینیم:
اول از Solution Explorer پروژه رو باز کنین و روی پوشهای که میخواین فایل داخلش بسازین راست کلیک کنین و از بین گزینههایی که دارین .http رو انتخاب کنین:
برای امتحان میتونیم از Endpointهای سایت reqres.in استفاده کنیم:
GET https://reqres.in/api/users?page=2
با گزینه Send Request بالای GET میتونید امتحانش کنید.
نتیجه به این شکل کنار فایل بهتون نمایش داده میشه
حالا اگه نیاز به Header داشتیم چی؟
برای اضافه کردن Header هم میشه از روش زیر استفاده کنیم:
GET https://reqres.in/api/users?page=2
Age: 100
توی بخش نتیجه میتونیم از فرستاده شدن Headerمون مطمئن بشیم:
برای فرستادن Body هم میشه از روش زیر استفاده کنیم:
POST https://reqres.in/api/register
Content-Type: application/json
{
"email": "eve.holt@reqres.in",
"password": "pistol"
}
و در نهایت خروجی رو با هم ببینیم
مزایا
معایب
این قابلیت جدید در Visual Studio 2022 به من کمک کرد تا Endpointها رو بدون نیاز به هیچ وابستگی اضافهای، سریع امتحان کنم، و یا اگه نیاز باشه به راحتی با ساختن این فایل در پروژه، Endpointهارو با همکارام به اشتراک بذارم. اما در یک سری Use Caseها به خاطر معایبش کاربردش رو از دست میده.
در نهایت پیشنهاد میکنم که حتما راجع بهش مطالعه کنین.
https://learn.microsoft.com/en-us/aspnet/core/test/http-files