小编Bil*_*ill的帖子

使用swagger UI记录包装的REST响应

我有一个WidgetDto,我用swagger UI注释进行了注释.最终的响应包WidgetDtos的列表,元数据层(每21页这个 REST风格的最佳实践文件).例如:

{
  "data" : [ 
    {
      "id" : 1234,
      "prop1" : "val1"
      ...
    },
    {
      "id" : 5678,
      "prop1" : "val2"
      ...
    }, 
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

我的java代码如下所示:

@GET
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(
        value = "Get all widgets.",
        response = WidgetDto.class
)
@ApiResponses(value = {
        @ApiResponse(code = 200, message = "Returns the list of widgets.")
})
public Response getWidgets() {
  List<WidgetDto> widgets;
  ...
  Map<String, Object> responseBody = new HashMap<>();
  responseBody.put("data", widgets);
  return Response.ok(responseBody).build();
}
Run Code Online (Sandbox Code Playgroud)

我想在多个资源上重用这个模式,我不想为每个响应类型创建列表DTO.是否有一种优雅的方式来使用招摇来记录这些类型的响应主体?

java rest jersey swagger swagger-ui

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

使用相对路径在synced文件夹中的vagrant symlink协议错误

我正在尝试ubuntu/trusty64使用ubuntu主机上的相对路径创建带有符号链接的vanilla guest box.

> mkdir -p tmp1/tmp2
> mkdir -p tmp1/tmp3
> vagrant init ubuntu/trusty64
Run Code Online (Sandbox Code Playgroud)

在新创建的Vagrantfile中添加文件夹同步:

...
config.vm.box = "ubuntu/trusty64"
config.vm.synced_folder File.expand_path("~/tmp1"),
                                         "/home/vagrant/tmp1",
                                         :create => true
...
Run Code Online (Sandbox Code Playgroud)

然后把盒子和ssh拿出来:

> vagrant up
> vagrant ssh
Run Code Online (Sandbox Code Playgroud)

然后,cdtmp2目录并尝试创建一个符号链接tmp3:

> cd tmp1/tmp2
> ln -s ../tmp3 test
ln: failed to create symbolic link ‘test’: Protocol error
Run Code Online (Sandbox Code Playgroud)

版本信息:

> vagrant version
Vagrant 1.7.4
> vboxmanage --version
5.0.4r102546
Run Code Online (Sandbox Code Playgroud)

谁看过这个吗?

ubuntu symlink virtualbox vagrant

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

标签 统计

java ×1

jersey ×1

rest ×1

swagger ×1

swagger-ui ×1

symlink ×1

ubuntu ×1

vagrant ×1

virtualbox ×1