当前位置: 首页 > 知识库问答 >
问题:

当设置值时,使用默认值设置RequestParam总是为null

东郭承业
2023-03-14

我正在创建一个rest方法,它可以使用RequestParam注释处理一个可选参数(在本例中是性别)。但性别值始终被视为空值。(spring Version4.0.0)第二个参数被认为是正确的。

@RequestMapping(value = {"/age/{age}", "/gender/{gender}/age/{age}"}, method = RequestMethod.GET)
public @ResponseBody String getByAge(@RequestParam(value="gender", defaultValue="unknown") String gender, @PathVariable("age") int age) throws Exception {...}

提前谢了。潘卡杰

共有1个答案

杨建章
2023-03-14

就像Juned在评论中说的那样,性别也要使用@PathVariable。

public @ResponseBody String getByAge(@PathVariable("gender") String gender, @PathVariable("age") int age) throws Exception {...}

如果您想要可选参数,并且如果您有请求paramter也不成问题,那么您的url应该有点类似于http://localhost:8080/bll-0.1/qry/age/40?gender=where,您可以使用@requestparam

public @ResponseBody String getByAge(@RequestParam(value="gender", defaultValue="unknown") String gender, @PathVariable("age") int age) throws Exception {...}
 类似资料:
  • 我是spring boot的新手,正在学习

  • 问题内容: 我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”? 就像是 它将在sql server 2005上运行 谢谢 问题答案: 使用以下内容: 或@Lieven指出: COALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推…

  • 我尝试使用liquibase使用liquibase“addDefaultValue”语法将我的列的默认值设置为null: 但是向myTable插入新行显示默认值仍然设置为“false”,就像以前一样。所以liquibase更改集不起作用。 如何设置列默认值为null与liquibase?

  • 问题内容: 可以为JPA中的列设置默认值吗?如果使用注释,如何做到这一点? 问题答案: 实际上,在JPA中是可能的,尽管使用批注的属性有些小小的改动,例如:

  • 问题内容: 尝试使用WTForms设置SelectField的默认值时,我像这样将值传递给“默认”参数。 我也尝试了以下方法。 都不将默认选定字段设置为“ Def”。这适用于其他类型的字段,例如TextField。如何设置SelectField的默认值? 问题答案: 你发布的第一种方法是正确的,并且对我有用。唯一无法解释的原因可能是你正在运行旧版本的WTForms,它在1.0.1上对我有效

  • 问题内容: 有没有一种方法可以在共享首选项中设置默认值? 这是我的负载偏好代码 这是我的保存偏好代码 问题答案: 当您使用键和值设置首选项时,实际上是在提供该值。因此,这次不必使用默认值。请参见,在检索该值时,如果以前未设置该值,则可以定义一个默认值。 如果您得到strSavedMem1 =“ default”,那么肯定是默认情况,因为您没有在首选项中为MEM1设置任何其他值