Leo*_*eel 4 java url-routing spark-java
我正在使用 Java Spark 构建 REST 服务器,我想知道以下两种用于定义路径参数的语法之间的区别,使用:path-parametervs {path-parameter}:
path("/containers/:container-id", () -> { ...} )
path("/shipments/{shipment-id}", () -> { ... } )
Run Code Online (Sandbox Code Playgroud)
有一次,当查询路径上的路径参数/{handler-id}(嵌套在/v1和 中/handlers)时,我不得不将语法从:表单更改为{}表单,以使 Sparknull在查询handler-id.
那么这两种语法有什么区别呢?
在路径中定义参数的唯一语法是:path-param.
查询这个参数的值是通过String paramVal = request.params(":path-param")(查询时冒号是可选的)完成的。
或者,如果你想得到一个包含所有参数名称-值的地图,你会去 request.params();
我不确定您在查询参数时为什么会得到 null,但我猜您使用了request.queryParams(":path-param");. 但是这个 API 不是用来查询你想要的路径参数,而是用来查询一个查询参数,这些参数是路径形式的参数,比如/api/users?userId=1234.
概括
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
Run Code Online (Sandbox Code Playgroud)
String,如果需要,您必须进行强制转换。| 归档时间: |
|
| 查看次数: |
1961 次 |
| 最近记录: |