如何解决Spring REST Greeting服务的简单介绍文档
我用Spring REST service implementation学习Swagger。
GET服务-http:// localhost:8080 / greeting?name = Betlista返回
{
"id":5,"content":"Hello,Betlista!"
}
所以我为Swagger创建了YAML文件,
swagger: "2.0"
info:
version: "0.0.1-SNAPSHOT"
title: "Spring REST"
host: "localhost:8080"
basePath: "/"
tags:
- name: "Greeting"
schemes:
- "http"
paths:
/greeting:
get:
operationId: "greeting"
produces:
- "application/json"
parameters:
- name: "name"
in: "query"
required: false
type: "string"
responses:
"200":
description: "successful operation"
schema:
$ref: "#/deFinitions/GreetingResponse"
deFinitions:
GreetingResponse:
type: "object"
properties:
id:
type: "integer"
content:
type: "string"
问题是,当我尝试使用“试用”按钮执行它时。
(从开发人员工具的Chrome的“网络”标签中)似乎没有响应:
编辑:正如我在评论中提到的那样,我验证了摇摇晃晃产生的卷曲,并且可以按预期工作-curl -X GET "http://localhost:8080/greeting?name=Betlista" -H "accept: application/json"
此刻,我正在研究CORS主题(由于文档和服务都在本地主机上,这对我来说没有意义),我在Chrome控制台中看到以下内容:
解决方法
这实际上是服务的问题,而不是Swagger编辑器的问题。
我仍在寻找解决方案,其描述为here:
CORS使用特殊的HTTP标头来允许跨域请求。 “试用”功能在API响应中需要以下标头:
Access-Control-Allow-Origin: https://host.from.which.the.request.came Vary: Origin Access-Control-Allow-Credentials: true Access-Control-Expose-Headers: ResponseHeader1,ResponseHeader2,...
我尝试使用Spring REST sevice with CORS,它在curl -I http://localhost:8080/greeting?name=Betlista
上返回:
HTTP/1.1 200
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 37
Date: Mon,02 Nov 2020 13:42:15 GMT
但这仍然无法正常工作...
正如我所说,这不是Swagger编辑器问题,而是服务问题。
可以按照here中所述chrome.exe --disable-web-security --user-data-dir=/tmp
在Chrome中关闭CORS检查,这当然是不推荐的,因此我认为这只是一种解决方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。