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

强类型和restful API:如何在Kotlin中定义“GET returned object”?

水渊
2023-03-14

太长,读不下去了

我希望kotlin实用程序在restful API上调用“GET”方法。程序员必须定义一个与json输出完全匹配的类吗?我是否可以跳过字段,以便“value/return object”类包含一些返回的字段,而不是其他字段?

出身背景

我是kotlin的新手,在python和kotlin之间切换。

我正在编写一个实用程序来从restful api获取数据。供应商提供了文件和示例。

在python中,“get”方法将返回“Map of maps”。相反,kotlin的方法是返回一个“定义良好”的对象。

I-the-coder可以用这个“返回对象”来“查看”我需要的“信息”

实例

例如,假设我想从rest api“获取客户”,我的实用工具只需要以下字段:

  • 'name'
  • '成员自'日期。

但假设“get customer”json对象包含一大堆程序员不关心的信息:

  • “订单历史记录”(“订单历史记录”列表中的每个条目本身就是一个复杂的对象)
  • “客户偏好”

在kotlin中:我需要定义一个类来匹配返回对象上的每个字段吗?我可以只定义我关心的字段,并让json解析器/对象映射器忽略所有其他字段吗?

Vs肥皂

回到过去(例如2006年),提供SOAP服务的应用程序将从WSDL生成java-Client类。kotlin程序员是否需要为restful编程做等效的工作?

Json库

我没有提到任何特定的解析器(jackson,gson,klaxon),因为我对一般方法更感兴趣,并假设“kotlin方面”与fo接触相似。

共有1个答案

陆弘新
2023-03-14

大多数JSON解析器库都有忽略JSON数据中未知属性的选项——例如,下面是Jackson的文档。如果设置此选项,您将能够创建只包含您感兴趣的字段的数据类。

 类似资料:
  • 我在Kotlin中有一个方法,它返回一个泛型列表的Rx可观察值: 因为Kotlin list特征定义为,Java将看到返回类型为。 是否有一种方法告诉Kotlin编译器,Java应该将其视为?

  • 问题内容: 的PDOStatement对象:: bindValue() 方法提供了一种方式来指定绑定的变量的类型: PDOStatement :: bindValue($ parameter,$ value [, $ data_type = PDO :: PARAM_STR ]) 我想知道,指定数据类型的目的是什么,而当保留为默认值()时,最终数据库将在使用它之前将值强制转换为正确的类型? 例如,

  • 我正在使用Hibernate、JPA和Spring Boot。 我想持久化一个类型为“version”的自定义对象。“version”是一个处理复杂的对象,但它在表中对应于一个简单的VARCHAR字段。我能够从字符串构造版本和从版本对象构造字符串。 null 谢谢!!

  • 我需要能够在运行时告诉kotlin集合的泛型类型。我怎么做?

  • 问题内容: 很简单,我正在学习Python,但是找不到可以告诉我如何编写以下内容的参考: 后来: 这是一个具有以下属性的班级团队:名称/徽标/成员 编辑 经过几次尝试,我得到了: 后来 这是Python方式吗?感觉很奇怪(当然来自强类型语言)。 问题答案: 在Python中,通常不编写getter和setter,除非您确实为它们提供了一个简单的实现(此时使用属性描述符)。

  • 问题内容: 我有一堂课: 我想在“ JPA”专栏中使用它: 这就是Hibernate所说的: 如何使其了解我的自定义类型。我认为这很简单,但是在文档中找不到。 问题答案: 好吧,有很多方法: 用注释类,并具有: private Email email; 声明自定义值类型-参见此处(使用)