Ali*_*aka 30 java rest javax.ws.rs queryparam
例如,具有以下Java休息定义:
@GET
@Path("/something")
public String somthing(
@QueryParam("valString") String valString,
@QueryParam("valInt") int valInt,
@QueryParam("valBool") boolean valBool
) {
...
}
Run Code Online (Sandbox Code Playgroud)
并调用:
curl -X GET 127.0.0.1/something
Run Code Online (Sandbox Code Playgroud)
如果未在调用中指定,参数值将是什么?(valString =?,valInt =?,valBool =?)
cas*_*lin 68
参数值为:
valString: nullvalInt: 0valBool: false引用有关提取请求参数的Java EE 7教程:
如果
@DefaultValue在与结合不使用@QueryParam,且查询参数不存在于该请求,则该值将是一个空集List,Set或SortedSet;null对于其他对象类型; 和原始类型的默认值.
Oracle 的Java教程中描述了基本类型的默认值:
Primitive Default Value
-------------------------------
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
boolean false
Run Code Online (Sandbox Code Playgroud)
如您所知,可以使用以下@DefaultValue注释更改此行为:
@GET
@Path("/foo")
public String myMethod(@DefaultValue("foo") @QueryParam("valString") String valString,
@DefaultValue("1") @QueryParam("valInt") int valInt,
@DefaultValue("true") @QueryParam("valBool") boolean valBool) {
....
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40107 次 |
| 最近记录: |