Postman یک ابزار متکی به خود چند سکویی، رایگان و فوق العادهای است جهت توسعه و آزمایش Web APIها (HTTP Restful APIs). برای دریافت آن میتوانید به این آدرس مراجعه کنید. البته پیشتر افزونهای، مخصوص کروم را نیز ارائه کرده بودند که دیگر پشتیبانی نمیشود و اگر بر روی مرورگر شما نصب است، بهتر است آنرا حذف کنید.
شروع به کار با Postman
پس از نصب و اجرای Postman، در ابتدا درخواست میکند که اکانتی را در سایت آنها ایجاد ...
نحوه کار مکانیزم مسیریابی به این صورت است که ما Route هایمان را مثلا درون میانافزار MVC (توسط متد UseMvc) تعریف میکنیم و زمانیکه یک درخواست به میانافزار MVC میرسد، این میانافزار بر اساس اطلاعات Url و Routeهای تعریف شده، اولین Route ایی را که همخوانی داشته باشد، انتخاب کرده و مقادیر مسیر یابی (RouteValues) را استخراج میکند و بدین ترتیب میفهمد که کدام Controller و Action باید فراخوانی شود. در Pipeline چون میانافزار ...
در سری « مستند سازی 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 ...
مستندسازی یک API، مهم است. اگر این API عمومی باشد، نیاز به مستندات ویژهی آن، امری بدیهی است و اگر عمومی نباشد، باز هم باید دارای مستندات باشد؛ از این جهت که سایر توسعه دهندههای یک تیم بتوانند به سادگی از آن استفاده کنند و همچنین نیازی نباشد تا یک سؤال مشخص را بارها پاسخ داد. به علاوه عدم وجود مستندات کافی در مورد یک API سبب خواهد شد تا سایر توسعه دهندهها تصور کنند قابلیتی که مدنظرشان است هنوز پیاده سازی نشدهاست و خودشان شروع به توسعهی ...