小编Tli*_*ink的帖子

Swagger / Springfox自动生成响应示例

当前使用springfox 2.9.2来Swagger文档在Spring中创建的API。我想在文档中添加示例响应,如下图所示;

在此处输入图片说明

我的理解是,我可以做类似的事情:

@ApiResponses(value = {
    @ApiResponse(code = 200, message = "Success", 
            examples = @io.swagger.annotations.Example(
                value = {
                    @ExampleProperty(value = "{'snapshot'?{'type': 'AAA'}}", mediaType = "application/json") 
                }))
Run Code Online (Sandbox Code Playgroud)

GET在这种情况下,我将此代码段放在方法上方。不幸的是,上面的2个示例始终显示:标识符预期错误

但我也看到我也可以这样做:

@ApiResponses(value = {
    ApiResponse(code = 200, message = "Success", response = MyModel.class,
    )
})
Run Code Online (Sandbox Code Playgroud)

另外我看到我可以添加一个带有@ApiOperation级别的示例:

@ApiOperation(value = "Create a Account", nickname = "createAccount", notes = "Create a account", response = AccountResponse.class, tags={  })
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 如何在Swagger文档中添加示例JSON响应?

  2. 将Swagger / Springfox指向我的模型/ bean并使其自动生成示例响应,并随着bean /模型的每次更新自动更新,将是理想的选择。这是上面第二个代码段应该做的吗?

api rest swagger spring-boot springfox

7
推荐指数
1
解决办法
2436
查看次数

亚马逊附属/关联链接中的所有参数是什么?

我找到了这个链接,我想知道 URL 中的所有这些参数是什么(删除了&并将它们分成单独的行以提高可读性):

https://www.amazon.com/Backseat-Organizer-Protector-Storage-Organizers/dp/B071Y6F4SR/

ref=as_li_ss_tl ---> 这似乎在每个亚马逊附属链接中

smid=A2AMCOIC0OKFCA ---> 这是产品类别 ID?

pf_rd_p=695f29ac-ec28-4005-ae23-4a6ff667d724

pf_rd_s=slot-4

pf_rd_t=701

pf_rd_i=gb_main

pf_rd_m=ATVPDKIKX0DER

pf_rd_r=1Z9QWS8H760T7QX98SV2

链接代码=sl1

tag=xxxxxxx-20 ---> 这是发布链接的亚马逊附属公司的 ID

linkId=96f85c1971c0eb3edcf31e3faf903aea

utm_content=buffer9bbb8

utm_medium=社交

utm_source=twitter.com ---> 原始链接已发布到 Twitter,所以我猜这是用于跟踪和指标

utm_campaign=buffer ---> 这似乎表明该消息源自缓冲区社交媒体工具

parameters amazon affiliate

6
推荐指数
1
解决办法
2599
查看次数

AWS Elastic Beanstalk:502 错误网关 nginx/1.14.1 Spring 启动应用程序 - 尝试端口 5000

我已将一个简单的 Spring boot 应用程序部署到 Elastic Beanstalk,但当我尝试访问 /serviceinfo 或用于此目的的任何路径时,它始终显示Health Degraded在仪表板中,我收到此错误 502 Bad Gateway nginx/1.14.1

该应用程序在本地运行

但在 EBS 日志上我读到: 2019/03/02 06:55:49 [error] 3298#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 111.215.59.25, server: , request: "GET /serviceinfo HTTP/1.1", upstream: "http://127.0.0.1:5000/serviceinfo", host: "myservice.us-east-1.elasticbeanstalk.com" 因为我过去部署过其他 Spring boot 应用程序,所以我知道server.port=5000,我已经在 Spring 应用程序属性中设置了它,当它不起作用时,我在 EBS 中再次设置了它作为环境变量。但我仍然遇到同样的错误。也在SpringBootServletInitializer主类中使用,但这也没有帮助。

我还能尝试什么让它运行

java nginx spring-boot amazon-elastic-beanstalk

6
推荐指数
0
解决办法
1941
查看次数

jersey/tomcat说明源服务器未找到目标资源的当前表示

我已根据所述的详细信息配置了泽西(使用tomcat服务器),直到此处的步骤6.3:http: //www.vogella.com/tutorials/REST/article.html#jerseyprojectsetup

下面是我的web.xml文件,唯一的区别是路径/包名称为 jersey.config.server.provider.packages

说明书;

<param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.vogella.jersey.first</param-value>
Run Code Online (Sandbox Code Playgroud)

因为com.vogella.jersey.first是他们的包名,而我选择将我的名字指向我的默认包(jerseytest)

但这是我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>jerseytest</display-name>
 <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
     <!-- Register resources and providers under com.vogella.jersey.first package. -->
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>jerseytest</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

当我在tomcat服务器上运行应用程序时,我不断得到:

HTTP状态404 - 未找到

输入状态报告

Message /jerseytest/

描述源服务器未找到目标资源的当前表示,或者不愿意透露存在该目标资源.

Apache Tomcat/8.5.23

当我将浏览器指向教程中提到的终点时: http://localhost:8080/com.vogella.jersey.first/rest/hello

我收到一个未找到的错误:

HTTP状态404 - 未找到

输入状态报告

Message Not Found

描述源服务器未找到目标资源的当前表示,或者不愿意透露存在该目标资源.

Apache Tomcat/8.5.23

当我将浏览器直接指向http:// localhost:8080/rest/hello时

我明白了:

HTTP状态404 - …

java tomcat jersey gradle

5
推荐指数
2
解决办法
4万
查看次数

使用 Spring 重命名 swagger 中的 API

据我了解,在 Spring 中使用 Swagger 记录 API 时,我可以通过添加注释来更改 API 的描述@Api,但是当我按如下方式添加时

@Api(value= "NEW_NAME", description="NEW_DESCRIPTION")
Run Code Online (Sandbox Code Playgroud)

仅更改了描述,未更改名称。

如这里所见

在此输入图像描述

此外,我不确定默认名称和描述来自哪里,在添加 API 之前,名称似乎是从控制器名称派生的,但描述;对我来说,这看起来很自然,很人性化,几乎就像带有大写字母和所有内容的硬编码字符串。我对代码进行了搜索,但找不到这些字符串。Swagger 从哪里获取这些值?

谢谢

swagger spring-boot springfox

5
推荐指数
1
解决办法
7982
查看次数

Google Sheets API append 方法(最后一个)

当使用 google sheet api append 方法(在任何语言中)时,要附加到工作表的值将添加到最后一个非空行之后。因此,新值出现在工作表的底部,如下所述:https : //developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append#InsertDataOption

如何以新值出现在工作表顶部的方式附加值?

google-sheets google-sheets-api

3
推荐指数
1
解决办法
1418
查看次数

For循环以在Hibernate中保存数据而不添加所有项目

尝试使用Hibernate 4.3.11.Final和SQLite方言使用for循环保存/提交数据 com.enigmabridge:hibernate4-sqlite-dialect

当我运行此代码并检查Sqlite数据时,我看到它只保存了1个项目(好像它只提交了一次),而一个项目是我在数据库中看到的最后一个(我生成的5个项目中的) 。

configureSessionFactory();
Session session = null;
Transaction tx=null;
try {
    session = sessionFactory.openSession();
    SyndEntry entry = null;
    URL feedUrl = new URL(rssUrl);
    SyndFeedInput input = new SyndFeedInput();
    SyndFeed feed = input.build(new XmlReader(feedUrl));
    tx = session.beginTransaction();
    BroadcastItem item = new BroadcastItem();
    for (int i = 0 ; i < 5 ; i++) {
         entry = (SyndEntry) feed.getEntries().get(i);
         item.setMessage(entry.getTitle());
         item.setLinkUrl(entry.getLink());
         session.save(item);
    }
    tx.commit();
} catch (Exception ex) {
  ex.printStackTrace();
  // Rolling back the changes to make the data …
Run Code Online (Sandbox Code Playgroud)

java database hibernate

1
推荐指数
1
解决办法
918
查看次数

在 Maven 中:如何显示详细的 SureFire 测试结果(从 xml 转换为 html)?

如何让 Maven/SureFire 生成 HTML 测试报告而不是 XML 测试报告?适用于 SureFire、PMD 和其他质量控制工具。

所以它看起来像这里的那些。

pmd maven maven-surefire-plugin

1
推荐指数
1
解决办法
3342
查看次数

从 Elastic Beanstalk (Spring Boot) 获取正确的日志

我正在 Elastic Beanstalk 中运行 Spring Boot 应用程序。我发现探索 Elastic Beanstalk 中的日志有些不直观。我只看到 2 个选项,下载所有日志或最后 100 行,其中包含我的应用程序和运行 Elastic Beanstalk 的 EC2 实例的日志。有没有办法查看我的应用程序日志(相同的日志)我在运行应用程序时在本地计算机中看到)而不限于最后 100 行和其他噪音,或者每次都必须下载所有日志?

logging amazon-web-services spring-boot amazon-elastic-beanstalk

0
推荐指数
1
解决办法
2790
查看次数