علی‌رضا صاحبی
علی‌رضا صاحبی
خواندن ۲ دقیقه·۱ سال پیش

معرفی فایل .http و موارد استفاده اون

هشدار! برای استفاده از فایل‌های .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 رو انتخاب کنین:

ایجاد فایل .http
ایجاد فایل .http


برای امتحان می‌تونیم از Endpoint‌های سایت reqres.in استفاده کنیم:

GET https://reqres.in/api/users?page=2

با گزینه Send Request بالای GET می‌تونید امتحانش کنید.

دکمه Send Request برای صدا زدن Endpoint
دکمه Send Request برای صدا زدن Endpoint


نتیجه به این شکل کنار فایل بهتون نمایش داده می‌شه

نتیجه صدا زدن یکی از Endpointها
نتیجه صدا زدن یکی از Endpointها

حالا اگه نیاز به Header داشتیم چی؟

برای اضافه کردن Header هم می‌شه از روش زیر استفاده کنیم:

GET https://reqres.in/api/users?page=2
Age: 100

توی بخش نتیجه می‌تونیم از فرستاده شدن Headerمون مطمئن بشیم:

چک کردن حضور Header در Requestای که فرستادیم
چک کردن حضور Header در Requestای که فرستادیم


برای فرستادن Body هم می‌شه از روش زیر استفاده کنیم:

POST https://reqres.in/api/register
Content-Type: application/json

{
"email": "eve.holt@reqres.in",
"password": "pistol"
}
درخواست POST به همراه ورودی‌ها
درخواست POST به همراه ورودی‌ها

و در نهایت خروجی رو با هم ببینیم




مزایا

  • نصب به صورت پیشفرض در Visual Studio 2022
  • ذخیره‌ی Endpoint‌ها و اطلاعات مربوط بهشون
  • اشتراک گذاری سند API با فرمت .HTTP

معایب

  • عدم نگه‌داری تاریخچه Endpoint‌های صدا زده شده
  • عدم پشتیبانی از تمام قابلیت‌های REST Client (مثل افزونه‌ی Rest Client در Visual Studio Code)


نتیجه‌گیری

این قابلیت جدید در Visual Studio 2022 به من کمک کرد تا Endpoint‌ها رو بدون نیاز به هیچ وابستگی اضافه‌ای، سریع امتحان کنم، و یا اگه نیاز باشه به راحتی با ساختن این فایل در پروژه، Endpointهارو با همکارام به اشتراک بذارم. اما در یک سری Use Caseها به خاطر معایبش کاربردش رو از دست می‌ده.

در نهایت پیشنهاد می‌کنم که حتما راجع بهش مطالعه کنین.

منبع

https://learn.microsoft.com/en-us/aspnet/core/test/http-files


csharpvisualstudio2022dotnetnet7api documentation
As if I could kill time without injuring eternity
شاید از این پست‌ها خوشتان بیاید