使用喷雾路由,我想要一个指令,将查询字符串参数与 JSON 实体合并,两者都是可选的。我希望在任何编组发生之前发生这种情况。
像这样的东西:
val myRoute = mergedParametersAndEntity(as[DomainSpecificClass]) { myobj =>
// ... code code code ...
complete(OK, myobj.someMethod)
}
基本上我希望的是以下行为:
当有人提出如下请求时:
POST /v1/resource?a=helloQS&b=helloQS
Content-Type: application/json
{"a":"helloFromJson","c":"helloFromJson"}
那么上面的对象 ( myobj
) 可以包含键:
a -> helloFromJson
b -> helloQS
c -> helloFromJson
换句话说,请求正文中指定的项目将覆盖查询字符串中的内容。我知道这一定是可能的,但我根本不知道该怎么做。任何人都可以帮忙吗?
谢谢!