Я получаю следующую ошибку.
InvalidOperationException: Can't use schemaId "$Registration" for type "$PortalService.Models.Registration". The same schemaId is already used for type "$PortalService.Models.Registration"
Я попробовал предложения по следующей ссылке, но безуспешно.
Ошибка развязности: конфликтующие идентификаторы схемы: обнаружены повторяющиеся идентификаторы схемы для типов A и B< /p>
У меня есть только один класс регистрации в моделях. Я безуспешно пытался переименовать класс.
Я использую проект OData .Net Core 3.1.
Настройка Swagger приведена ниже
services.AddTransient();
services.AddSwaggerGen(c =>
{
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = @"JWT Authorization header using the Bearer scheme. \r\n\r\n
Enter 'Bearer' [space] and then your token in the text input below.
\r\n\r\nExample: 'Bearer 12345abcdef'",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.ApiKey,
Scheme = "Bearer"
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement()
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
},
Scheme = "oauth2",
Name = "Bearer",
In = ParameterLocation.Header,
},
new List()
}
});
});
Использование Swagger описано ниже
app.UseSwagger(c =>
{
//c.PreSerializeFilters.Add((swaggerDoc, httpReq) => swaggerDoc.BasePath = basepath);
c.PreSerializeFilters.Add((swaggerDoc, httpReq) => {
Microsoft.OpenApi.Models.OpenApiPaths paths = new Microsoft.OpenApi.Models.OpenApiPaths();
foreach (var path in swaggerDoc.Paths)
{
paths.Add(path.Key.Replace(path.Key, basepath + path.Key), path.Value);
}
swaggerDoc.Paths = paths;
});
});
app.UseSwaggerUI(
options =>
{
options.RoutePrefix = string.Empty;
// build a swagger endpoint for each discovered API version
foreach (var description in provider.ApiVersionDescriptions)
{
options.SwaggerEndpoint($"{basepath}/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant());
}
});
Похоже, это связано с
сбоями Swagger с циклическими ссылками на модели.
Я обнаружил, что если Закомментирую обратную ссылку партнера от регистрации, ошибка пропадает, но мне нужна эта ссылка. Мне не понятно, как исправить ситуацию.
[ForeignKey("Partner")]
[DataMember(Name = "PartnerOID")]
[Column(TypeName = "VARCHAR(100)")]
public string PartnerOID { get; set; }
//public virtual Partner Partner { get; set; }
Подробнее здесь: https://stackoverflow.com/questions/618 ... already-us
InvalidOperationException: невозможно использовать идентификатор схемы. Тот же идентификатор схемы уже используется для ⇐ C#
Место общения программистов C#
1729565709
Anonymous
Я получаю следующую ошибку.
InvalidOperationException: Can't use schemaId "$Registration" for type "$PortalService.Models.Registration". The same schemaId is already used for type "$PortalService.Models.Registration"
Я попробовал предложения по следующей ссылке, но безуспешно.
Ошибка развязности: конфликтующие идентификаторы схемы: обнаружены повторяющиеся идентификаторы схемы для типов A и B< /p>
У меня есть только один класс регистрации в моделях. Я безуспешно пытался переименовать класс.
Я использую проект OData .Net Core 3.1.
Настройка Swagger приведена ниже
services.AddTransient();
services.AddSwaggerGen(c =>
{
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = @"JWT Authorization header using the Bearer scheme. \r\n\r\n
Enter 'Bearer' [space] and then your token in the text input below.
\r\n\r\nExample: 'Bearer 12345abcdef'",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.ApiKey,
Scheme = "Bearer"
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement()
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
},
Scheme = "oauth2",
Name = "Bearer",
In = ParameterLocation.Header,
},
new List()
}
});
});
Использование Swagger описано ниже
app.UseSwagger(c =>
{
//c.PreSerializeFilters.Add((swaggerDoc, httpReq) => swaggerDoc.BasePath = basepath);
c.PreSerializeFilters.Add((swaggerDoc, httpReq) => {
Microsoft.OpenApi.Models.OpenApiPaths paths = new Microsoft.OpenApi.Models.OpenApiPaths();
foreach (var path in swaggerDoc.Paths)
{
paths.Add(path.Key.Replace(path.Key, basepath + path.Key), path.Value);
}
swaggerDoc.Paths = paths;
});
});
app.UseSwaggerUI(
options =>
{
options.RoutePrefix = string.Empty;
// build a swagger endpoint for each discovered API version
foreach (var description in provider.ApiVersionDescriptions)
{
options.SwaggerEndpoint($"{basepath}/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant());
}
});
Похоже, это связано с
сбоями Swagger с циклическими ссылками на модели.
Я обнаружил, что если Закомментирую обратную ссылку партнера от регистрации, ошибка пропадает, но мне нужна эта ссылка. Мне не понятно, как исправить ситуацию.
[ForeignKey("Partner")]
[DataMember(Name = "PartnerOID")]
[Column(TypeName = "VARCHAR(100)")]
public string PartnerOID { get; set; }
//public virtual Partner Partner { get; set; }
Подробнее здесь: [url]https://stackoverflow.com/questions/61881770/invalidoperationexception-cant-use-schemaid-the-same-schemaid-is-already-us[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия