0

使用具有 JWT 安全性和开放 API 的 Micronaut 2.2.1。控制器定义不起作用,如下所示

在此处输入图像描述

应用程序.yml

micronaut:
  application:
    name: demo
  security:
    enabled: true
    intercept-url-map:
      - pattern: /swagger-ui/**
        access:
          - isAnonymous()
  router:
    static-resources:
      swagger:
        paths: classpath:META-INF/swagger
        mapping: /swagger/**
      swagger-ui:
        paths: classpath:META-INF/swagger/views/swagger-ui
        mapping: /swagger-ui/**

控制器

@Secured(SecurityRule.IS_ANONYMOUS)
@Controller("/product")
public record ProductController(IProducer iProducer) {
    @Get(uri = "/{text}")
    public Single<String> get(String text){
        return iProducer.sendText(text);
    }
}

api.service.yml

openapi: 3.0.1
info:
  title: API service
  description: My API
  contact:
    name: Fred
    url: https://gigantic-server.com
    email: Fred@gigagantic-server.com
  license:
    name: Apache 2.0
    url: https://foo.bar
  version: "0.0"
paths:
  /product/{text}:
    get:
      operationId: get
      parameters:
      - name: text
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: get 200 response
          content:
            application/json:
              schema:
                type: string
4

1 回答 1

2

我失踪了

intercept-url-map:
      - pattern: /swagger-ui/**
        httpMethod: GET
        access:
          - isAnonymous()
      - pattern: /swagger/**
        access:
          - isAnonymous()
于 2020-12-16T04:48:59.940 回答