Activities of "andmattia"

Yes it's exactly our issue.

So in microservice we can't expose microservices Swagger. I look to a library to do that https://blog.burgyn.online/2020/04/17/swagger-for-ocelot-api-gateway-en.

I try to invastigate if it's possibile to integrate in ABP.IO

Hi,

I'm not sure that can I understand your reply. I use the eShopLandscape All microservice work on localhost from port 123->128 and API GW replay to api.mydomain.com. Any microservice are directly expose to internet only the GW, but in this case when you try to get the swagger json definition the call we made to localhost and is not possible to complete if you are in the same machine...

Ok

so you confirm that swagger in microservice solution doesn't work if u don't expose the single microservice. I think this is a bis issue...

I think this issue is related to the SWAGGER json.

If I'm inside the network my swagger definition works fine but if I'm outside it doesn't work but API routing works fine inside and outside the network.

Ocelot not support Swagger documentation

Hi

I don't have an error on log side but in cosole

If I try to call via postman the API it works fine

Can you confirm that the microservice not to be exposed on web but only api gateway?

So if you look below the name you see the URL and it is the internal URL (es. localhost:45566 or MY-MACHINE-NAME:45566) and of course it doesn't work

  • ABP Framework version: v7.1.0
  • UI type: Angular
  • DB provider: EF Core
    • Tiered (MVC) or Identity Server Separated (Angular): yes

I use a microservice solution and it work fine but still have issue related to API Gateway published on IIS.

app.UseAbpSwaggerUI(options =>
        {
            var configuration = context.ServiceProvider.GetRequiredService<IConfiguration>();
            var routes = configuration.GetSection("Routes").Get<List<OcelotConfiguration>>();
            var routedServices = routes
                .GroupBy(t => t.ServiceKey)
                .Select(r => r.First())
                .Distinct();

            foreach (var config in routedServices.OrderBy(q => q.ServiceKey))
            {
                var url = $"{config.DownstreamScheme}://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}:{config.DownstreamHostAndPorts.FirstOrDefault()?.Port}";
                // if (!env.IsDevelopment())
                // {
                //     url = $"https://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}";
                // }

                options.SwaggerEndpoint($"{url}/swagger/v1/swagger.json", $"{config.ServiceKey} API");
                options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
            }
        });

I need to change the not development because my IIS has non different name for single service... or all my service need to be available one by one? (ES. auth.mydomain.com, saas.api.mydomain.com,identity.api.mydomain.com, product.api.mydomain.com, ect)?

My api gateway is publish to FQDN to port 443 but all other service is in "localhost" or "machinename" in other port, so when I open the API gateway swagger the Account service works fine

If I use any other service

Hi @gterdem

Thanks for the clarification about gateway I made an error reading ports (gateway & productServices), so related to this why you specify prodcut service if it's still on the same address?

In this case I can remove it or is it better to specify?

export const environment = {
  production: false,
  application: {
    baseUrl,
    name: 'prj',
  },
  oAuthConfig,
  apis: {
    default: {
      url: 'https://localhost:44325',
      rootNamespace: 'prj',
    },
    AbpAccountPublic: {
      url: oAuthConfig.issuer,
      rootNamespace: 'AbpAccountPublic',
    },
    ProductService: {
      url: 'https://localhost:44325',
      rootNamespace: 'prj.ProductService',
    },

Hi

I've create a new app via suite and use only the angular folder with my microservice solution. So now I'm a little confuse how can I change my tenant.

I try to explain the scenario:

  1. App create via suite (no microservice)
    1. Create 2 tenant
    2. Open the UI
    3. go to Saas anche switch to tenant
  2. App with microservice
    1. Admin app has tenant adminstration
    2. Second app (create via suite) use microservice and gateway. All function it works fine.
    3. Need to change tenant.
      1. If I add sass UI angular module to this app, configure the route to access to SaasMicroservice
      2. I don't add SAAS module to change tenant (concretly I remove SAAS angular UI module from second app). I can I change tenant? Only via admin app and open the Url of second app. The tenant propagation work via cookies?

Another confusion is releted to default product Microservice that are autogenerated on solution. Why, in angular app, the microservice is "connected" directly to productMicroservice and not to the gateway?

,
    ProductService: {
      url: 'https://localhost:44325',
      rootNamespace: 'MyMicroMicroservice',
    },

Hi @gterdem my goal is add a new app (es. a PWA to B2B on eshop example). This new app ass 2 microservice

  • Delivery service
  • Logistic service

We need to create a new dedicated gateway with Catalog, Ordering, Logistics and Delivery Service an a dadicated app. So my approch is duplicate the gateway project and adjust Seed/CORS/config to allow conncetion but for a quick start to web pwa app I create a normal APP with cli command line and copy&paste angular folder.

The question is it's the best/only path that I've to do that?

Hi

I follow the document and I've create a new solution based on microservice.

I add a new service to my new microservice solution and it works fine, so now I want to add a new application so to do that I think:

  1. add new service (ok)
  2. add new gateway, I copy the web gateway in the solution and adjust octleton.json
  3. add new UI app, a new Angular app. I copy a angular app came from new app template

Point 2 and 3 I'm not sure if it's the best way to do.

Showing 51 to 60 of 136 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 20, 2024, 08:30