اگر تجربهی نوشتن Web API را داشته باشید، قطعا نیاز به ابزارها و یا کتابخانههایی را برای تست APIها داشتهاید، تا بتوانید از صحت عملکرد آنها مطمئن شوید. از جمله روشها و یا ابزارهایی که میتوانید برای تست و بررسی APIها استفاده کنید، میتوان به postman ( دوره آشنایی با postman ) ، سواگر و stress اشاره کرد که پیشتر در سایت جاری مقالات مفیدی دربارهی آنها نوشته شدهاست که میتوانید برای آشنایی به آنها مراجعه کنید. در این مقاله ...
به مناسبت ارائهی نسخه 7.4 از Microsoft.AspNetCore.OData که دیروز صورت پذیرفت، تصمیم گرفتم آموزش استفاده از OData را در پروژههای ASP.NET Core 3.1 به بالا که دارای endpoint routing هستند (روش توصیه شده)، تهیه کنم تا در آن، پروژه کمترین تغییر ممکن را برای اضافه شدن OData داشته باشد و ببینیم که استفاده از آن در نسخههای جدید، به چه میزان آسان شده است. ابتدا با dotnet --version و یا dotnet --info و یا هر روش دیگری، از نصب بودن dot ne ...
Postman یک ابزار متکی به خود چند سکویی، رایگان و فوق العادهای است جهت توسعه و آزمایش Web APIها (HTTP Restful APIs). برای دریافت آن میتوانید به این آدرس مراجعه کنید. البته پیشتر افزونهای، مخصوص کروم را نیز ارائه کرده بودند که دیگر پشتیبانی نمیشود و اگر بر روی مرورگر شما نصب است، بهتر است آنرا حذف کنید.
شروع به کار با Postman
پس از نصب و اجرای Postman، در ابتدا درخواست میکند که اکانتی را در سایت آنها ایجاد ...
در سری « مستند سازی ASP.NET Core 2x API توسط OpenAPI Swagger » با نحوهی تولید OpenAPI Specification، بر اساس کنترلرها و اکشن متدهای Web API خود آشنا شدیم و سپس با استفاده از ابزار Swagger-UI، یک رابط کاربری پویا را نیز برای آن تولید و سفارشی سازی کردیم. کاربرد OpenAPI Specification صرفا به مستندسازی یک Web API خلاصه نمیشود. بر اساس این استاندارد، ابزارهای متعددی جهت تولید کدهای سمت سرور و سمت کلاینت نیز طراحی شدهاند که در اینجا نمونهای ...
امکان کنترل کامل و سفارشی سازی ظاهر نهایی Swagger-UI وجود دارد که جزئیات آنرا در این قسمت بررسی خواهیم کرد. بهبود ظاهر کامنتها با بکارگیری Markdown
Markdown زبان سبکی است برای تعیین شیوهنامهی نمایش متون ساده. اگر پیشتر با سیستم ارسال نظرات Github و یا Stackoverflow کار کرده باشید، قطعا با آن آشنایی دارید. توضیحات کامل و جزئیات آنرا میتوانید در آدرس markdownguide.org مطالعه کنید. خوشبختانه امکان استفادهی از Mark ...
ممکن است تعدادی از اکشن متدهای API طراحی شده، محافظت شده باشند. بنابراین OpenAPI Specification تولیدی نیز باید به همراه مستندات کافی در این مورد باشد تا استفاده کنندگان از آن بدانند چگونه باید با آن کار کنند. نگارش سوم OpenAPI Specification از اعتبارسنجی و احراز هویت مبتنی بر هدرها مانند basic و یا bearer، همچنین حالت کار با API Keys مانند هدرها، کوئری استرینگها و کوکیها و یا حالت OAuth2 و OpenID Connect پشتیبانی میکند و این موارد ذیل خ ...
زمانیکه کنترلر یک API را توسط قالبهای پیشفرض آن ایجاد میکنیم، یک سری اکشن متد پیشفرض Get/Post/Put/Delete در آن قابل مشاهده هستند. میتوان این نوع خروجی این نوع متدها را به نحو سادهتری نیز مستند کرد: namespace OpenAPISwaggerDoc.Web.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ConventionTestsController : ControllerBase
{
// GET: api/ConventionTests/5
[HttpGet("{ ...
Swashbuckle.AspNetCore چگونه اطلاعات خود را فراهم میکند؟
در برنامههای ASP.NET Core، اطلاعات OpenAPI بر اساس سرویس توکاری به نام ApiExplorer تولید میشود که کار آن فراهم آوردن متادیتای مرتبط با یک برنامهی وب است. برای مثال توسط این سرویس میتوان به لیست کنترلرها، متدها و پارامترهای آنها دسترسی یافت. Swashbuckle.AspNetCore به کمک ApiExplorer کار تولید OpenAPI Specification را انجام میدهد. برای فعالسازی این سرویس نیازی نیست ...
در قسمت قبل موفق شدیم بر اساس OpenAPI specification endpoint تنظیم شده، رابط کاربری خودکاری را توسط ابزار Swagger-UI تولید کنیم. در ادامه میخواهیم این مستندات تولید شده را غنیتر کرده و کیفیت آنرا بهبود دهیم.
استفاده از XML Comments برای بهبود کیفیت مستندات API
نوشتن توضیحات XML ای برای متدها و پارامترها در پروژههای داتنتی، روشی استاندارد و شناخته شدهاست. برای نمونه در AuthorsController، میخواهیم توض ...
پس از معرفی اجمالی OpenAPI و Swagger در قسمت قبل و همچنین ارائهی یک برنامهی نمونه که آنرا به مرور تکمیل خواهیم کرد، در ادامه کتابخانهی Swashbuckle را نصب کرده و شروع به مستند سازی API ارائه شده خواهیم کرد. نصب Swashbuckle (سوواَش باکِل)
اگر عبارت Swashbuckle.AspNetCore را در سایت NuGet جستجو کنیم ، چندین بستهی مختلف مرتبط با آنرا خواهیم یافت. ما در این بین، بیشتر به این بستهها علاقمندیم:
- Swashbuckle.AspNe ...