解决@PathVariable接收参数带点号时只截取点号前的数据的问题

问题:

	@RequestMapping(value = "preview/{fileName}", method = RequestMethod.GET)
	public void previewFile(@PathVariable("fileName") String fileName, HttpServletRequest req, HttpServletResponse res) {
		officeOnlinePreviewService.previewFile(fileName, req, res);
	}

本来fileName参数传的是:userinfo.docx,
但结果接收到的是:userinfo
这显然不是我想要的。

解决方法:

	@RequestMapping(value = "preview/{fileName:.+}", method = RequestMethod.GET)
	public void previewFile(@PathVariable("fileName") String fileName, HttpServletRequest req, HttpServletResponse res) {
		officeOnlinePreviewService.previewFile(fileName, req, res);
	}

参数fileName这样写,表示任何点(包括最后一个点)都将被视为参数的一部分:

{fileName:.+}

你可能感兴趣的:(spring)