当我尝试访问findById时,它显示以下内容:
IllegalArgumentException "id to load is required for loading"
这是我的代码:
package controllers;
import play.*;
import play.mvc.*;
import java.util.*;
import models.*;
public class Application extends Controller {
public static void index() {
render();
}
public static void saveUser(String name)
{
User1 user =new User1(name);
String res = "";
if( user.save()!=null){
res="Stored Successfully";
}
else{
res="Failed to store";
}
render(res);
}
public static void showUser(Long id)
{
User1 user= User1.findById(id);
render(user);
}
}
以下是我的路线文件我不明白为什么错误即将发生以及非法参数异常。 #Routes #此文件定义所有应用程序路由(优先级较高的路由优先) #~~~~
# Home page
GET / Application.index
# Ignore favicon requests
GET /favicon.ico 404
# Map static resources from the /app/public folder to the /public path
GET /public/ staticDir:public
# Catch all
* /{controller}/{action} {controller}.{action}
答案 0 :(得分:2)
IllegalArgumentException
因为id为null。确保您通过请求传递正确的值。如下映射routes
文件中的控制器方法将阻止传递null:
GET /user/{id} Aplication.showUser
答案 1 :(得分:0)
您传递给id
的{{1}}变量的值是不可接受的。
也许这是一个负数。阅读User1.findById
的文档,以查找User1.findById
变量的要求。
在调用id
之前,请尝试使用此代码检查id的值:
findById(id)