ml0417 2020-04-14 12:05 采纳率: 0%
浏览 2270

restFul风格传参, 参数中带斜杠/, 后端报404, 在必须用restFul传参的前提下, 怎么解决

// 伪代码

@GetMapping("user/find/by/{name}")
public void findByName(@PathVariable String name){
    //....
}

前端传参name="xiao/ming"
这样url就变成user/find/by/xiao/ming 了, 接口匹配不到, 报404, 在必须要用restFul传参的情况下, 这种问题要怎么解决

  • 写回答

1条回答 默认 最新

  • 一大波程序猿 2020-04-14 14:02
    关注

    @GetMapping("user/find/by/{name}/**")
    public String getMapping(@PathVariable String name, HttpServletRequest request){
    String path = request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE).toString();
    String path2 = request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE).toString();
    String args = new AntPathMatcher().extractPathWithinPattern(path2, path);
    return name + "/" + args;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀