当前位置: 首页 > 知识库问答 >
问题:

使用io.smallrye.mutiny.Uni创建响应对象

相旭
2023-03-14

我正在尝试学习在Quarkus框架上使用ReactiveMongoClient。

我以大学的身份发送回复部分成功

@GET
@Path("/unpaginated")
public Uni<List<Staff>> unpaginatedStaffList() {
    return staffService.getStaffResponse();
}

但是,当我尝试获取其他类的对象(StaffResponse)以包含用于分页的链接对象时,我没有得到任何Staff记录。(目前,我有用于分页的硬编码链接)

@GET
@Path("/paginated")
public StaffResponse paginatedStaffList() {
    List<Link> links = LinkService.getLinks("/staff?page=2&limit=20", "next");
    Uni<List<Staff>> staff = (Uni<List<Staff>>) staffService.getStaffResponse();
    return new StaffResponse(links, staff);
}

响应中的“staff”为空。

MongoClient正在返回人员列表ok,看起来响应对象没有获取该列表。试图阅读SmallRye的叛变纪录片,但没有成功。

请帮忙。

我已经提交了代码:https://github.com/doepradhan/staffApi和一个示例json数据文件(https://github.com/doepradhan/staffApi/blob/master/sample-staff-data.json)

谢谢你的帮助。

共有1个答案

栾昂雄
2023-03-14

您不能混淆两种方法。您需要使用Uni作为endpoint的输出。这意味着您需要将两个输入源转换为Uni,组合它们,并映射到StaffACK

  1. 转换LinkService以返回Uni(或使用Uni.createFrom()。项目(链接))
public StaffResponse(List<Link> links, List<Staff> staff) {
        this.links = links;
        this.staff = staff;
    }
    @GET
    @Path("/paginated")
    public Uni<StaffResponse> paginatedStaffList() {
        final Uni<List<Link>> links =
                Uni.createFrom().item(LinkService.getLinks("/staff?page=2&limit=20", "next"));
        Uni<List<Staff>> staff = staffService.getStaffResponse();
        return staff.and(links).map(it -> new StaffResponse(it.getItem2(), it.getItem1()));
    }

我在这里创建了一个工作PR

 类似资料:
  • 问题内容: 我正在尝试将服务器端Ajax响应脚本转换为Django HttpResponse,但显然无法正常工作。 这是服务器端脚本: 这是转换后的代码 我正在使用simplejson对Python列表进行编码(因此它将返回JSON数组)。我还不能弄清楚问题所在。但是我认为我对“回声”做错了。 问题答案: 我通常使用字典,而不是列表来返回JSON内容。 在Django 1.7之前的版本中,您将像这

  • 问题内容: 我正在尝试将服务器端Ajax响应脚本转换为,但显然无法正常工作。 这是服务器端脚本: 这是转换后的代码 我正在使用simplejson对Python列表进行编码(因此它将返回JSON数组)。我还不能弄清楚问题所在。但是我认为我对“回声”做错了。 问题答案: 我通常使用字典,而不是列表来返回JSON内容。 在Django 1.7之前的版本中,你将像这样返回它: 对于Django 1.7+

  • 注意: Adobe Muse 不再添加新增功能,并将于 2020 年 3 月 26 日停止支持。有关详细信息和帮助,请参阅 Adobe Muse 服务结束页面。 通过响应式网页设计这种方法,可创建能在各种设备(从台式机显示器到手机屏幕)上查看的网站。使用 Adobe Muse,不需要进行任何编码即可创建适合任何屏幕尺寸的响应式网站。响应式布局可让您的用户提供您网站的一致的浏览体验。 在之前的 Ad

  • 我有一个Java web应用程序。我想为我的应用程序实现SAML单点登录登录。我有这个GitHub onelogin程序来发送请求并获得响应。但它没有正常工作。我在那里创建了一个帐户。但我没有企业账户。当我运行应用程序时,它将进入onelogin登录页面。我试图登录,但在响应中没有返回任何权限,表明我没有权限。如果我也提供了错误的凭据,那么它不会给出任何SAML响应。 所以我决定创建一个断言并签名

  • 我从http请求中得到以下形式的响应:它是一个由未命名数组和对象组成的数组。我无法为这种情况找到合适的Swagger(开放API)规范。

  • 问题内容: 如何使用PHP实现或创建这种JSON对象? 经过几次尝试,我没有找到解决方案。例如,我尝试了这个: 问题答案: