代码之家  ›  专栏  ›  技术社区  ›  Vivek Sangode

micronaut-java中的多租户

  •  0
  • Vivek Sangode  · 技术社区  · 1 年前

    如果我使用post方法,我就会出错 Internal Server Error: No GORM implementations configured. Ensure GORM has been initialized correctly 在MultiTenantResolver中,resolveCurrentTenantIdentifier用于从请求命中期间传递的标头中识别tenantId,我正确地实现了多租户代码,但当tenantId在标头中时,我的数据库没有改变

    import grails.gorm.multitenancy.CurrentTenant
    import grails.gorm.multitenancy.Tenants
    import io.micronaut.http.annotation.Body
    import io.micronaut.http.annotation.Controller
    import io.micronaut.http.annotation.Post
    import jakarta.inject.Inject
    import java.net.http.HttpResponse
    
    @Controller("/api")
    @CurrentTenant
    class DummyController {
        @Inject
        private Accountserviceimpl accountserviceimpl;
        @Inject
        private MultiTenantResolver multiTenantResolver;
        @Post("/accounts")
        public HttpResponse<Account> createAccounts(@Body Account account){
            String tenantId = multiTenantResolver.resolveCurrentTenantIdentifier();
            Account account1;
            Tenants.withId(tenantId){
                account1 = accountserviceimpl.saveAccount(account);
            }
            return io.micronaut.http.HttpResponse.created(account1);
        }
    }
    
    0 回复  |  直到 1 年前