我有一个实体类User
@Entity
public class User implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private String name;
private String email;
private String phone;
}
在我的UserDao上我可以成功调用返回的方法用户findByName(String name):
{
"id": 8,
"name": "roronoa zoro",
"email": "zoro@sunnygo.com"
}
但在调用此方法时总是失败用户findByEmail(String email)。 我正在传递“zoro@sunnygo.com”作为参数,并且为空。
然后我尝试用户findByEmailContaining(字符串电子邮件)并且它有效,为什么我不能使用 findByEmail ?
提前感谢。
答案 0 :(得分:1)
答案可能太迟了,但如果其他人有类似的问题,可能是因为您使用请求映射在您的其他控制器上将电子邮件作为url参数传递,因此该变量将作为zoro @ sunnygo而不是zoro接收@ sunnygo.com。要解决此问题,只需将@RequestMapping(value = "/get/{email}", method = RequestMethod.GET)
更改为@RequestMapping(value = "/get/{email:.+}", method = RequestMethod.GET)