首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java火花中的“路径-参数”和“{path-param}”有什么区别?

Java火花中的“路径-参数”和“{path-param}”有什么区别?
EN

Stack Overflow用户
提问于 2017-06-01 07:46:33
回答 1查看 2.5K关注 0票数 4

我正在使用Java构建一个REST服务器,我想知道使用:path-parameter{path-parameter}定义路径参数的以下两种语法之间的区别

代码语言:javascript
复制
path("/containers/:container-id", () -> { ...} )

path("/shipments/{shipment-id}", () -> { ... } )

在查询路径/{handler-id} (嵌套在/v1/handlers中)上的路径参数时,有一段时间我不得不将语法从:表单更改为{}表单,以便在查询handler-id参数时使Spark不返回null

那么这两种语法有什么区别呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-01 18:51:07

在路径中定义参数的唯一语法是:path-param

查询此参数的值由String paramVal = request.params(":path-param")完成(查询时冒号是可选的)。

或者,如果您想获得一个包含所有参数名称的映射--值,则为request.params();

我不知道为什么在查询param时获得null,但我猜您使用了request.queryParams(":path-param");。但是这个API不是用来查询您想要的路径参数,而是用来查询查询参数,这些参数是像/api/users?userId=1234那样的路径形式。

摘要

代码语言:javascript
复制
Path Definition  URL in browser                Query
---------------  ----------------------------  -----------------------------------
/api/users/:id   <host>/api/users/1234         request.params("id") ==> 1234
/api/users       <host>/api/users?id=1234      request.queryParams("id") ==> 1234
  • 请注意,返回的值始终是一个String,如果需要,您将不得不进行强制转换。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44301522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档