8

I am using:

  • ASP.NET Core 2.1
  • OData
  • Swashbuckle.AspNetCore (3.0.0)

And I am trying to use swashbuckle for odata and when I add the value controller I get this error:

enter image description here

And if I remove the value controller, I would get this on swagger:

enter image description here

public void ConfigureServices(IServiceCollection services)
{
    services.AddLogging();
    services.AddOData();

    services.AddMvc()
        .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info { Title = "OData API", Version = "v1" });
    });
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{

    Data.Core.Repository.LoggerFactory = LoggerFactory;

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseCors();
    app.UseODataBatching();

    app.UseMvc(r => {
        var builder = new ODataConventionModelBuilder()
        {                    
            //Namespace = "OData",
        };
        var eb = builder.EntitySet<Employee1>(nameof(Employee1));
        eb = builder.EntitySet<Employee1>(nameof(Employee2));
        eb = builder.EntitySet<Employee1>(nameof(Employee3));
        var model = builder.GetEdmModel();
        r.Count().Filter().OrderBy().Expand().Select().MaxTop(null);
        r.MapODataServiceRoute("odata", null, model, new DefaultODataBatchHandler());

        r.EnableDependencyInjection();
    });

    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.RoutePrefix = "swagger";
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "OData API V1");
    });
    app.UseAuthentication();

    Mapper.Initialize(cfg => {

        cfg.AddProfiles(typeof(Startup));
    });
}
Camilo Terevinto
  • 31,141
  • 6
  • 88
  • 120
Raniel Quirante
  • 431
  • 2
  • 12

0 Answers0