首页 > 解决方案 > 如何在 Spring Boot 中将带有斜杠的参数传递到存储库

问题描述

在控制器中:

@GetMapping("/attendance/update")
public String updateAttendance(@RequestParam("caseId") String caseId) {
// Pass the case ID "ABCD/EF/01" (with splash)

在存储库中:

@Query(value="SELECT personSN FROM Scheme WHERE serialNo = ':caseId'", nativeQuery=true)
String getpersonSN(@Param("caseId") String caseId);

应用属性: org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

SQL 服务器正在使用。

我遇到了参数无法传递到存储库(:caseId)的问题。不能传递任何值。

我可以知道如何解决吗?

标签: spring-boot

解决方案


M. Deinum 是对的。删除 :caseId 周围的 ''

@Query(value="SELECT personSN FROM Scheme WHERE serialNo = :caseId", nativeQuery=true)
String getpersonSN(@Param("caseId") String caseId);

推荐阅读