У меня есть код ниже, в котором я установил preauthorizeApiKey, и он работает нормально, и вызовы API также работают. API-интерфейсам нужен заголовок «Авторизация: носитель xxxxxxxxxxx». У меня был ключ, хранящийся в хранилище реакции и чтение с помощью getToken ().
import React from 'react';
import SwaggerUI from 'swagger-ui-react';
import swaggerSpec from '../../swagger.json';
import { getToken } from '../../api/utils'
export const complete=function(swaggerUi)
{
let token = getToken();
swaggerUi.preauthorizeApiKey('bearerAuth', token.Token);
}
const ApiDocs = () => {
return <SwaggerUI spec={swaggerSpec} onComplete={(swaggerUi) => complete(swaggerUi)} />
};
export default ApiDocs;
Ниже приведена конфигурация моего маршрута:
<Route path="/api-docs" component={ApiDocs} />
Мне не нужно нажимать кнопку авторизации на swagger Экран пользовательского интерфейса, и он автоматически авторизован. Просто хотел поделиться любыми комментариями / предложениями / улучшениями.