问题标签 [spray-json]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 如何在 spray-json 中表示可选字段?
我的请求中有一个可选字段:
我的协议是:
如何将 nextAt 字段标记为可选,以便正确读取和接受以下 JSON 对象:
我实际上并不真正关心 null 案例,但是如果您有详细信息,那就太好了。我正在使用 spray-json,并且认为如果原始 JSON 对象上不存在该字段,则使用 Option 会跳过该字段。
scala - 如何在 scala 中围绕泛型方法包装泛型方法?
我正在尝试包装 spray-json 解析器,使其返回Option
而不是引发异常。
作为第一步,我只是试图用我自己的方法包装该方法,但我在使其通用时遇到了问题。
解析器使用隐式格式对象(它是为我正在使用的具体类型定义的)但是当该方法是通用的时,编译器会抱怨:
以下是相关代码:
我需要做什么才能使其正常工作?
scala - 来自周围范围的隐式参数解析
我不喜欢将隐式参数带入我的代码中,所以我想在使用它们的地方封装它们的使用。因此,我试图定义一个对象,该对象既包含对 spray-json 的调用和异常处理,又包含我的每个模型类的默认隐式 JsonFormats。但是,除非将隐式参数导入客户端调用代码,否则不会解析隐式参数,这正是我不希望它们出现的地方。这是我到目前为止所拥有的(它不能解决隐式格式化程序),有没有一种方法可以获得我想要的工作?
注意。JsonFormat 是 JsonReader 的一种
编辑:这是我根据@paradigmatic 的第二个建议(我无法开始工作,我仍然得到Cannot find JsonReader or JsonFormat type class for T
)所写的内容。我错过了什么吗?
作为记录,这是一个确实有效的代码片段,但我试图避免它,因为它需要太多的客户端代码(即它需要在范围内具有隐式):
scala - Scala 类型类模式和泛型方法
我正在尝试编写一个通用提取器,用于使用 spray 和 spray-json 解析 json POST 正文。
但是,我正在努力让它与多个模型一起使用。这是服务对象中的 case 语句:
这是我写的提取器(只要在 case 语句的范围内只有一个模型的 JsonReader 就可以工作):
但是,一旦我添加了一个新模型(和关联的 JsonReader),代码就不再编译并出现此错误:
JsonReaders 的泛型类型不同的事实似乎已经丢失。这种类型的擦除吗?有没有办法得到我想要的?
这是迄今为止该项目的完整编译代码,并附有注释ExampleService
,解释了导致它崩溃的原因:github.com/rsslldnphy/foam。感谢您的帮助,谢谢。
或者,如果我想要的目前不可能,任何人都可以提出替代方法吗?
scala - 在通用路由函数中使用 spray-json 编组器
我正在使用 Spray 编写 REST 服务。我有几条路线遵循相同的模式(GET /foos、POST /foos、GET /foos/:id 等),所以我想将这些路线分解成一个我可以调用的通用函数,比如modelRoutes[Foo]("foos")
等modelRoutes[Bar]("bars")
。
实际的数据库操作发生在 Controller[T] 特征上,我有隐式object FooController extends Controller[Foo]
等。例如,def getAll: List[T]
在 Controller[T] 和def getAll: List[App]
AppController 上。
我遇到的问题是在里面modelRoutes[T <: Model : Controller](prefix: String)
,模型的类型丢失了,所以 Marshaller[T] 和 Marshaller[List[T]] 找不到。到目前为止,我已经尝试了各种隐含和清单的排列,但没有运气。
如何在通用函数中正确地与 Marshaller 交互?
scala - 使用 Jackson 时在 Spray.io 中找不到隐式 Marshaller
我有一个处理 POST 的 Spray.io 指令,我想使用 Jerkson(Jackson 的 scala 接口)将传入的 JSON 解析为适当的类。
问题是当我去编译时,Spray 去寻找一个 Marshaller:
我需要为此编写一个自定义的 Marhsaller 吗?还是我的指令写得不正确?如果我确实需要一个,那里有什么好的例子吗?
谢谢!
scala - 无法将 unicode 符号转换为西里尔字母
我有一堆文件保存在 Apache Lucene 中,其中一些名称是俄语,当我尝试将它们打印出来时,它看起来像这样"\u0410\u0441\u043f\u0430\u0440"
,但不是西里尔符号。该项目在Scala中。我尝试使用 Apache CommonsunescapeJava
方法解决此问题,但没有帮助。还有其他选择吗?
更新: 项目是用 Spray 框架编写的,并像这样返回 json。
routing - 如何使用喷雾路由测试自定义 Json 对象
我正在为一些 CRUD 操作在 mongodb 之上创建一个带有喷雾路由的 Rest API,这一切都很好,期待每当我尝试使用 specs2 测试它时,以下规范
它将失败并出现以下错误:
我不知道在哪里查看源文件的引用和行号指向通用的 failTest(msg:String) 方法
更多信息:
我有一个案例类,我使用 SalatDAO 坚持使用 Mongo
其中 ObjectId() 一个类是包装 mongodb 的 ID 生成以通过 spray_json 进行此(未)编组的类我创建了一些 jsonFormats
以及我的路线的相关部分(删除了错误处理和日志记录):
scala - 使用 spray-json 处理默认值的好方法是什么
在某些情况下,默认值比案例类中的可选值更有意义:
在第一种情况下,我希望能够轻松地将以下 json 转换为实例:
但是对于标准jsonFormat2(Car)
,spray-json 抱怨缺少numberOfWheels
.
我如何最干净地解决这个问题?
scala - How to expose REST service for JSON?
I need to expose a Spray service that accepts JSON payload. Where can I find a sample that would demonstrate such a feature?