در Swaggerچطری میشه کاربر جاری (لاگین) رو گرفت و اون رو آپدیت کرد؟
This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.
در Swaggerچطری میشه کاربر جاری (لاگین) رو گرفت و اون رو آپدیت کرد؟
Swagger یک ابزار برای توصیف و مستندسازی API ها است. برای این کار شما باید از مکانیزم احراز هویت و اجازهدهی استفاده کنید. یکی از روشهای متداول برای این کار استفاده از توکن JWT است. JWT یک رشتهی رمزگذاری شده است که حاوی اطلاعات کاربر است. شما میتوانید این توکن را در هدر Authorization ارسال کنید و در سمت سرور آن را بازگشایی و اعتبارسنجی کنید. برای این کار شما باید در فایل تعریف Swagger خود مشخص کنید که API شما از چه نوع احراز هویتی استفاده میکند. مثلا:
securityDefinitions:
jwt:
type: apiKey
name: Authorization
in: header
security:
• jwt: []
این کد نشان میدهد که API شما از یک کلید API در هدر درخواست با نام Authorization استفاده میکند. همچنین در هر مسیری که نیاز به احراز هویت دارد، باید این کد را قرار دهید:
security:
• jwt: []
این کد نشان میدهد که این مسیر از مکانیزم احراز هویت jwt استفاده میکند. برای مثال، اگر شما یک مسیر برای بهروزرسانی اطلاعات کاربر داشته باشید، میتوانید این کد را بنویسید:
paths:
/users/{id}:
put:
summary: Update user information
parameters:
• in: path
name: id
required: true
type: integer
description: The user id
• in: body
name: user
required: true
schema:
$ref: '#/definitions/User'
responses:
200:
description: User updated successfully
schema:
$ref: '#/definitions/User'
401:
description: Unauthorized
404:
description: User not found
security:
• jwt: []
این کد نشان میدهد که شما میتوانید با ارسال یک درخواست put به مسیر /users/{id} اطلاعات کاربر را بهروزرسانی کنید. اما برای این کار باید یک توکن jwt معتبر در هدر Authorization داشته باشید. در غیر این صورت، شما یک پاسخ 401 Unauthorized دریافت خواهید کرد. همچنین اگر کاربری با شناسهی مورد نظر وجود نداشته باشد، شما یک پاسخ 404 User not found دریافت خواهید کرد.
۱- در پنل Swagger از لینک زیر ابتدا id یوزر جاری (یوزری که الان در پنل لاگین هست) رو بگیرید
https://iot.yuccasoft.com/swagger-ui/#/auth-controller/getUserUsingGET
کل Response body رو به عنوان آبجکت یوزر جاری کپی کنید.
۲- از api لینک زیر استفاده کنین:
https://iot.yuccasoft.com/swagger-ui/#/user-controller/saveUserUsingPOST
۳- آبجکت کپی شده از مرحله قبل رو در Request body جایگزین آبجکت قبل کنید.
۴- تغییرات دلخواهی که در این سوالتون مطرح کردید رو اعمال کنید. عکس رو هم در additionalInfo وارد کنید.
۵- دستور Execute را اجرا کنید.
۶- نتیجه را بررسی کنید. فیلدهای تغییر داده شده به درستی جایگزین و آپدیت شده اند.
همین امروز یک حساب کاربری ایجاد کنید تا از ویژگی های انحصاری لذت ببرید و با جامعه عالی ما تعامل داشته باشید!
ثبت نام