加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Spring中,@ RequestParameter注释不接受defaultValue

发布时间:2020-12-14 23:56:48 所属栏目:Java 来源:网络整理
导读:这个问题与我在下面定义的 Spring MVC方法有关: writeToRead参数的值应为true或false.我希望enduser调用我的服务追加到url:localhost:8080 / index / someendpoint / sometype以下请求参数:?writeToRead = true否则如果用户没有将参数附加到结尾,则默认
这个问题与我在下面定义的 Spring MVC方法有关:

writeToRead参数的值应为true或false.我希望enduser调用我的服务追加到url:localhost:8080 / index / someendpoint / sometype以下请求参数:?writeToRead = true否则如果用户没有将参数附加到结尾,则默认为false网址字符串.问题是,@ RequestParameter注释似乎不接受defaultValue = false.看起来它只接受字符串类型而不是我正在使用的布尔类型.我可以使defaultValue =“false”,但实际上,这不是布尔值.这是一个字符串.我该怎么做呢?由于方法重载的定义冲突,我无法使用字符串替代(如“Y”或“N”)来解决此问题.我怎么能用布尔语做到这一点?先感谢您!

@RequestMapping(value="/index/{endpoint}/{type}",method=RequestMethod.POST,consumes=kCompressed,produces=kProducesType)
@ResponseBody
public String indexData(@PathVariable(value="endpoint") String endpoint,@PathVariable(value="type") String type,@RequestParam(value="writeToRead",defaultValue=false) boolean writeToRead,@RequestBody byte[] body,HttpServletRequest request) throws Exception {
    logger.debug("In indexData for endpoint " + endpoint);

    String bodyStr = decompress(body);
    return indexController.indexData(endpoint,type,bodyStr,writeToRead,getSecurityContextProvider(request));
}

解决方法

将其声明为
@RequestParam(value="writeToRead",defaultValue="false")

是适当的事情.请求参数是字符串,没有别的.你可以解析它们并给它们你想要或需要的语义(例如布尔值),但是,在基础上,它们只是字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读