如何无限制喷jsonFormat

2023-12-08

我正在实现一些使用 Spray 和 akka 的 REST API,该 API 应该公开某种用户 CRUD。我将在这个问题中仅使用创建用户......

case class User(id:String, name:String)  
case class Register(user:User, registrationId:String) 

trait DefaultJsonFormats extends DefaultJsonProtocol with SprayJsonSupport with MetaMarshallers {}

class RegistrationService(registration: ActorRef)
   (implicit executionContext: ExecutionContext) 
                   extends Directives with DefaultJsonFormats {
  implicit val timeout = Timeout(2.seconds)
  implicit val userFormat = jsonFormat3(User)
  implicit val registerFormat = jsonFormat1(Register)
  implicit val registeredFormat = jsonFormat1(Registered)

  val route =
      path("register") {
          post {  handleWith { ru: Register => (registration ?   ru).mapTo[Registered] } }
}

现在假设 User 类有 30 个字段 但没有 jsonFormat30(...) 如何对任何案例类对象使用此类隐式?


如果您参考的是ProductFormatsInstances特征,有多个版本jsonFormat最多 22 个参数。如果您的案例类包含超过 22 个参数,我会看到两个直接选项。假设你有

case class Client(..., address: Address, telephone: Telephone, email: Email, ...)
  • 选项 1:通过分解来减少参数数量Client将类划分为采用更少参数的更细粒度的类。例如,您可以重构为以下内容。

    case class ClientContact(address: Address, telephone: Telephone, email: Email)
    case class Client(..., contact: ClientContact, ...)
    
  • 选项 2:通过实现来编写自定义序列化程序RootJsonFormat. See here举个例子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何无限制喷jsonFormat 的相关文章

  • 使用 scala 进行重复的所有排列

    我正在寻找 scala 方法来给出所有排列而不重复 我知道这个网站上已经有一些帖子 但它们似乎有一个稍微不同的问题 我正在寻找所有重复的排列 例如 combine List A C G 应该产生 List List A A A List A
  • 使用 ActiveModel::Serializers 包含两个父 json 数组

    我正在尝试发送如下所示的前端应用程序 json facilities id 5 name happy days ranch location address 1424 Pastoral Lane zipcode 25245 instruct
  • 在 Scala 中使用隐式的良好实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何客观原因在代码中到处使用隐式参数只是为了缩短应传递的参数数量 我有一个 REST API 端点的每个调用都有一个唯一的 ID 应该在调
  • JSON 编码和大引号

    我在 PHP 5 的本机实现中遇到了一个有趣的行为json encode 显然 当将对象序列化为 json 字符串时 编码器将清空包含 卷曲 引号的字符串的任何属性 这种类型可能会在启用自动转换的情况下从 MS Word 文档中复制粘贴 这
  • Windows Phone 的 JSON 反序列化

    我正在尝试反序列化以下 JSON 但我真的不知道如何使用 JSON net 来完成这项工作 我正在使用 C 和 JSON Net 库 我的 JSON 如下 found 3 bounds 43 54919 172 62148 43 54487
  • 如何在 Scala Play 框架中进行 Twitter 反向身份验证?

    我正在编写一个 play 应用程序 在 scala 中 并且正在尝试执行 twitter 此处概述的反向身份验证步骤 https dev twitter com docs ios using reverse auth https dev t
  • 如何将两个json对象键的值相加? [复制]

    这个问题在这里已经有答案了 bills refNo 17 billDate 1 apr 2016 dueDate 30 apr 2016 pendingAmount 4500 overdueDays 28 refNo 20 billDate
  • Scala 中的数字格式?

    我有一个从文件中读取的动态变化的输入 数字是Int or Double Scala 为什么要打印 0每次之后Double数字 Scala 有没有办法以与读取相同的方式打印它 Example var x Double 1 println x
  • 如何使用 AngularJS 输出 JSON 数组中的元素

    JSON 数组定义在作用域中 scope faq Question 1 Answer1 Question 2 Answer2 HTML div f div Output Question 1 Answer1 Question 2 Answe
  • 将 Apache Flink 与 Lagom 结合使用时出现 java.io.NotSerializedException

    我正在 Lagom 的微服务实现中编写 Flink CEP 程序 我的 FLINK CEP 程序在简单的 scala 应用程序中运行得非常好 但是当我在 Lagom 服务实现中使用此代码时 我收到以下异常 拉戈姆服务实施 override
  • 如何将具有固定模式的值数组反序列化为强类型数据类?

    我在找出一种干净的 尽可能 方法来以特定格式反序列化某些 JSON 数据时遇到了一些麻烦 我想将数据反序列化为强类型数据对象类 对于具体细节非常灵活 以下是数据的示例 timestamp 1473730993 total players 9
  • Scala 模式与 TypeTag 的泛型匹配会生成警告,而 ClassTag 不会?

    我有两种非常相似的方法 唯一的区别是使用ClassTag and TypeTag def matchClass A ClassTag v Any v match case a A gt it s A case gt not A def ma
  • 如何将 Spark-sftp 等新库添加到我的 Pyspark 代码中?

    当我尝试在 Spark conf 中设置包依赖项 spark sftp 时 我收到 ClassNotFoundException 但当我使用以下命令执行脚本时它会起作用 Spark submit packages com springml
  • 使用 vue.js 显示 json 结果

    您好 我尝试使用 vue js 显示 json 文件结果 目标是结果将显示在值上 这是我的代码 data return fetchData function var self this self http get api casetotal
  • Scala Stream 按需要调用(惰性)与按名称调用

    所以我知道按需要呼叫只是按名称呼叫的记忆版本 在 Martin Odersky 在 Coursera 上的 FP 课程中 第 7 3 讲 惰性评估 中 他提到如果 Streams 是使用按名称调用来实现的 那么它可能会导致计算复杂性的激增
  • PHP JSON 解析出现错误

    我正在尝试使用 PHP 解析 JSON 字符串 使用 jQuery 将 JSON 发送到 PHP 文件 ajax在这种格式中 value 59 value 7 value 46 但由于某种奇怪的原因我不断收到此错误 Invalid argu
  • 将 ADODB.RecordSet 输出为 JSON

    我正在尝试更改我的应用程序 以便它输出 JSON 而不是 HTML当它发出 AJAX 请求某些数据时 我有一个 ADODB 记录集 我需要逐行循环它并添加 更改 删除不同的值 然后我需要获取所有修改的行response write它们作为
  • Jackson @JsonUnwrapped 行为与自定义 JsonSerializer

    我有两个这样的课程 public class A String aProp aProp public String getAProp return aProp public class B String bProp bProp A a ne
  • 为什么“private val”和“private Final val”不同?

    我曾经以为private val and private final val是一样的 直到我看到 Scala Reference 中的第 4 1 节 常量值定义的形式为 final val x e 其中 e 是常量表达式 第 6 24 节
  • 将 Scala 文件转换为 Dll

    我有一些使用 IntelliJ 和 SBT Plugin 编写的 scala 代码 并希望将代码作为 C 的 DLL 提供给我 我已经尝试使用 ikvmc 我通过 package 将所有类打包在一个罐子中 之后 我手动设置一个 jar 其中

随机推荐

  • 从服务获取登录用户名

    我有一项必须登录本地管理员才能安装的服务 此服务的目的是在用户登录或注销时记录其用户名 我终于找到了一些我认为可以工作的WMI代码 但它仍然返回管理员 为什么这不起作用 var query new ObjectQuery SELECT FR
  • 放大/缩小时保持地图上 D3 对象大小不变

    我正在遵循以下示例http bl ocks org d3noob raw 5193723 示例中绘制的圆圈在放大时会增大 我无法找出保持圆圈大小相同的方法 有任何想法吗 Edit1 关于如何保持饼弧半径恒定的任何想法 我已经找到了保持圆半径
  • WPF 网页浏览器控件与 winforms

    我正在创建一个 wpf 应用程序 其中使用网络浏览器控件 无论如何 有时我需要查找 html 元素 调用点击和其他基本功能 在 winforms webbrowser 控件中 我可以通过执行以下操作来实现此目的 webBrowser1 Do
  • 编写扩展方法来调用控件的更好方法?

    我有这个通用函数来调用 WinForm 控件 public static void Invoke this Control c Action action if c InvokeRequired c TopLevelControl Invo
  • 在 C++/Qt 中获取特定于平台的行尾字符

    有什么办法可以为任何平台获得正确的行尾符号吗 我的意思是 我可以使用 n对于 Windows 和 Unix 如果我想将 EOL 写入文件 但也有 r n如果我要在二进制数据中进行搜索 这将很重要 所以 我需要类似的东西Environment
  • 如何设置Jbutton的颜色

    如何设置 JButton 的颜色 我已经尝试过这个 button setBackground Color red 但没有成功 这只是改变按钮边框的颜色 然后我尝试覆盖paintComponents public void paintComp
  • 如何从仅包含指定类型的类成员的类/接口定义类型

    让我在这个例子中解释一下我的想法 假设我有这门课 class Class1 f1 string f2 string f3 number f4 Date 如果我需要一个带有类型成员的类型string来自那个班级 例如我可以做 type Cla
  • 对逗号分隔数字列表进行排序的 Pythonic 方法

    输入样本 20 71146620 100 26867616 10 02513583 10 52811698 100 23859051 我从文件中将其作为命令行参数读取到列表中 lin i strip for i in open sys ar
  • Android - 设置片段ID

    我怎样才能设置一个Fragment s Id这样我就可以使用getSupportFragmentManager findFragmentById R id 您无法以编程方式设置片段的 ID 然而 有一个String tag您可以在 Frag
  • 在 NodeJS 中从上传的文件中读取缓冲区数据

    我正在使用 express 模块上传文件 我必须使用读取上传图像的 EXIF 数据节点 exif 我不想将文件存储在磁盘上 并且上述模块支持从缓冲区读取 EXIF 数据 我需要从上传的图像中读取缓冲区数据 这是上传代码 var expres
  • 是否可以将 Google Apps 脚本 Web 应用程序发布到 G Suite Marketplace?

    我知道可以将 Google 脚本 Web 应用程序发布到 Chrome 网上应用店 但也可以在 Google Suite Marketplace 中发布吗 GAS 编辑器中没有 发布到市场 选项 但我查看了 Chrome Web Store
  • Kafka Log 压缩返回具有相同键的两条记录

    我在卡夫卡中的日志压缩有一个奇怪的行为 我创建了一个具有以下配置的主题 kafka topics zookeeper create topic myTopic partitions 12 replication factor 3 confi
  • 如何使用 cx_oracle 执行 SQL 脚本

    我正在尝试在 Oracle 数据库上执行 SQL 脚本 从文件中读取 我尝试了很多方法 但没有一个有效 我有以下方法 def connect cx oracle dns tns cx Oracle makedsn config DB HOS
  • PowerShell 中的高级过滤器

    我正在尝试通过 PowerShell 使用 Excel 高级过滤器 但我没有任何运气 我可以通过运行以下代码成功使用自动过滤器 rangetofilter worksheet2 usedrange select excel selectio
  • 在Python2.7中实现Barrier

    我使用 Barriers 在 Python3 中实现了这段代码 我想在 Python2 7 中获得相同的功能 但我不知道要使用哪个同步原语 因为 Python2 7 中不存在屏障 import threading import time f
  • 可以将其当前计数减少 N (N>=1) 的信号量?

    我正在实现一个流量控制组件 限制可以发送的最大请求 每个工作线程可以发送单个请求或一批请求 但任何时候待处理请求的总数都不应超过最大数量 我最初想用 SemaphoreSlim 来实现 将信号量初始化为最大请求计数 然后当工作线程要调用服务
  • 如何将 Objective-C BOOL 转换为 Swift 的 Bool,并将 NSError** 作为返回参数之一

    我有一个项目 我正在尝试使用 Swift 来创建新模块 对于其中一个新类 我使用 Swift 3 2 中 Objective C 类的现有方法 以下是该方法的签名 BOOL canLoginWithUsername NSString use
  • 元组的 StackOverflowError

    我编写了一个递归函数 用于在 julia 中获取较大数组中的对象 出现以下错误 ERROR LoadError StackOverflowError in cat t at abstractarray jl 831 in recGetObj
  • 如何在全息视图+散景中获得带有图例标签的全高垂直线?

    我想在其中绘制一条垂直线holoviews与bokeh后端有一个出现在我的图例中的标签 我需要这条线是绘图的完整高度 无论它是单独的还是与其他元素重叠 我怎样才能实现这个目标 Example 我在示例中添加了曲线图 因为否则即使可以出现在图
  • 如何无限制喷jsonFormat

    我正在实现一些使用 Spray 和 akka 的 REST API 该 API 应该公开某种用户 CRUD 我将在这个问题中仅使用创建用户 case class User id String name String case class R