首页 > 解决方案 > 方法不存在:部署 Cloud Endpoint

问题描述

我的 Spring Boot 项目有大量的 REST API,并且要使用 Cloud Endpoint 进行部署,它会引发错误。应用程序在 GKE 中运行。

错误显示方法不存在。我已经提到了这个问题,我没有使用默认根路径来检查 openapi.yaml 中的状态

这是配置:

openapi.yaml

# [START swagger]
swagger: "2.0"
info:
  description: "SPR API"
  title: "SPR API"
  version: "1.0.0"
host: "spr-api.endpoints.spr-mza-dev.cloud.goog"
# [END swagger]
schemes:
- "http"
paths:
  "/statuscheck":
    get:
      description: "Returns Status code"
      operationId: "status"
      parameters:
        - name: name
          in: query
          description: "Status verification"
          required: true
          type: string
      #produces:
      #- "application/json"
      responses:
        200:
          description: "Status 200"

部署.yaml

apiVersion: v1
kind: Service
metadata:
  name: spr-api
spec:
  ports:
  - port: 80
    targetPort: 8081
    protocol: TCP
    name: http
  selector:
    app: spr-api
  type: LoadBalancer
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: spr-api
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: spr-api
    spec:
      containers:
      # [START esp]
      - name: esp
        image: gcr.io/endpoints-release/endpoints-runtime:1
        args: [
          "--http_port", "8081",
          "--backend", "127.0.0.1:8080",
          "--service", "spr-api.endpoints.spr-mza-dev.cloud.goog",
          "--rollout_strategy", "managed",
        ]
      # [END esp]
        ports:
          - containerPort: 8081
      - name: spr-api
        image: "gcr.io/spr-mza-dev/sprapis:latest"
        ports:
          - containerPort: 8080

在达到端点时,我收到以下错误:

{
code: 5,
message: "Method does not exist.",
details: [
{
@type: "type.googleapis.com/google.rpc.DebugInfo",
stackEntries: [ ],
detail: "service_control"
}
]
}

感谢您的宝贵意见。

问候。

标签: google-cloud-endpointsgoogle-kubernetes-engine

解决方案


得到 404 时你的 URL 是什么?

您还可以提供解析的服务配置吗?您可以通过 CLI 获取它

gcloud 端点配置描述


推荐阅读