scala - 如何在 Akka-HTTP 中映射两个不同的 url:一个带参数的 url 和相同的不带参数的 url?
问题描述
我想用相同的 URI 定义 2 个不同的 GET REST 端点,一个没有任何查询参数,另一个有查询参数。
前任:
http://host:port/resource/resourceID (没有查询参数的uri)
http://host:port/resource/resourceID?key=value (带有查询参数的uri)
如何使用 scala 在 Akka-HTTP 中实现上述要求,并且还需要 URI 中的 Segment(resource ID)。
提前致谢。
解决方案
由于您的 uri 可以带有或不带有查询参数,因此您可以执行类似的操作
path("resource" / Segment) { resourceId =>
parameter("key".optional) { value => //value of type Option[String]
???
}
}
从文档
"color".optional (symbolic notation "color".?) 提取参数“color”的可选值作为Option[String]
推荐阅读
- html - 如何在导航栏中包含徽标,而又不影响内容的响应性和对齐方式?
- reactjs - React useEffect hook 依赖于第二个效果
- vba - 如何使用多行创建带有 MS Access 表的单词合并文档
- oauth - OAuth 2.0 是有状态的吗?
- angular - 如何在Angular中将带逗号的数字转换为数字
- php - 为 woocommerce 购物车中的每个项目创建单选按钮选项仅在 75% 的时间内有效
- xaringan - 课堂上的增量幻灯片:中间:东西四处移动
- r - R 矢量格式问题
- email - Jenkins - 如何检索提交者电子邮件并在电子邮件收件人列表字段中使用它?
- java - 使用 dockerfile 中的外部库编译和运行 java