/
/
در زمان اجرای Provider در کد، نتیجه اجرای Provider در قالب Result دریافت میشود. ساختار Result مشخص میکند که خروجی Provider چگونه در اختیار مصرفکننده قرار گیرد. این خروجی میتواند شامل دادههای ساختاریافته، نتیجه خالی یا فایل باشد.
پس از فراخوانی Provider با استفاده از absoluteMethodHelper.runProvider، نتیجه اجرای Provider در اختیار کد قرار میگیرد. نوع Result به نوع خروجی Provider و تنظیمات تعریفشده بستگی دارد.
Result فقط یک مقدار ساده نیست؛ بلکه قرارداد بازگشت نتیجه اجرای Provider است و میتواند اطلاعات، وضعیت اجرا یا فایل را شامل شود.
نتیجه اجرای Provider بر اساس نوع خروجی مورد نیاز میتواند در یکی از حالتهای اصلی قرار گیرد:
| نوع Result | توضیح |
|---|---|
| Structured Result | نتیجهای شامل دادههای ساختاریافته و فیلدهای خروجی Provider |
| File Result | نتیجهای که شامل فایل تولیدشده یا دریافتشده است |
| Empty Result | اجرای موفق Provider بدون خروجی دادهای |
| text/plain | خروجی متنی سرویس یا Provider |
در حالت Structured Result، خروجی Provider شامل اطلاعات ساختاریافته است. این حالت معمولاً برای Providerهایی استفاده میشود که دادههای جدولی یا مجموعهای از فیلدها را برمیگردانند.
{
"Id": 100,
"Name": "Customer"
}
در Providerهایی که خروجی فایل تولید میکنند، نتیجه اجرا شامل اطلاعات فایل است. در این حالت مصرفکننده باید نتیجه را بهعنوان فایل پردازش کند.
File Result با Structured Result متفاوت است. فایل باید بهعنوان خروجی فایل مدیریت شود و نباید مانند یک ساختار داده معمولی پردازش شود.
برخی Providerها عملیات را انجام میدهند اما خروجی دادهای ندارند. در این حالت اجرای Provider موفق است ولی مقدار دادهای برای بازگشت وجود ندارد.
اجرای یک Command یا عملیات ثبت اطلاعات که فقط وضعیت موفقیت اجرا اهمیت دارد.
در برخی سناریوها خروجی Provider بهصورت متن ساده دریافت میشود. این حالت بیشتر در سرویسهایی استفاده میشود که Response آنها ساختار JSON یا داده جدولی ندارد.
Success
پس از دریافت Result، مصرفکننده باید بر اساس نوع خروجی رفتار مناسب را انجام دهد.
قبل از استفاده از Result در کد، نوع خروجی Provider باید مشخص باشد. پردازش اشتباه File Result یا Structured Result میتواند باعث خطا در اجرای منطق مصرفکننده شود.