Настройте ошибку при использовании стандартного движка Google App Endpoint Security с использованием API KEY - PullRequest
0 голосов
/ 31 января 2020

Я создаю API и использую стандартную среду движка Google App, Java 8 runtime.

Сам REST API построен на GUI + API конечных точек Google.

Я также настроил безопасность на основе API-ключа для конечной точки. Проблема, с которой я сталкиваюсь, заключается в том, что, когда я предоставляю неверный ключ, служба отвечает на 400 неверных запросов с полезной нагрузкой HTML.

<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>400 API key not valid. Please pass a valid API key</title>
</head>

<body text=#000000 bgcolor=#ffffff>
    <h1>Error: API key not valid. Please pass a valid API key</h1>
</body>

</html>

Есть ли способ заставить конечную точку вместо этого отправлять сообщение JSON? Я бы не стал обременять клиентов разбором HTML в некоторых разовых случаях.

Спасибо

OpenAPI. json (Генерируется с помощью: mvn endpoints-framework: openApiDocs) Отредактировано для удаления конфиденциальной информации.

{
 "swagger": "2.0",
 "info": {
  "version": "1.0.0",
  "title": "my-app.appspot.com"
 },
 "host": "my-app.appspot.com",
 "basePath": "/_ah/api",
 "schemes": [
  "https"
 ],
 "consumes": [
  "application/json"
 ],
 "produces": [
  "application/json"
 ],
 "paths": {
  "/operation/v1/query/{type}": {
   "get": {
    "operationId": "Lookup",
    "parameters": [
     {
      "name": "type",
      "in": "path",
      "required": true,
      "type": "string"
     }
    ],
    "responses": {
     "200": {
      "description": "A successful response",
      "schema": {
       "$ref": "#/definitions/Result"
      }
     }
    },
    "security": [
     {
      "api_key": [ ]
     }
    ]
   }
  }
 },
 "securityDefinitions": {
  "api_key": {
   "type": "apiKey",
   "name": "key",
   "in": "query"
  }
 },
 "definitions": {
  "Result": {
   "type": "object",
   "properties": {

    "field1": {
     "type": "string"
    },
    "field2": {
     "type": "string"
    }
   }
  },
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...