我正在使用java play框架编写一个api。我想通过postman这样的rest客户机发布json,同时测试play控制器。
java play=2.2.1版本
控制器方法:
public static Result submitDetails(DetailsVO detailsVO) throws Exception
路由配置
POST /submit controllers.application.ProcessDetails.submitDetails(detailsVO:DetailsVO)
下面是我的pojo
import java.io.Serializable;
import java.util.List;
public class DetailsVO implements Serializable {
public DetailsVO(){}
private String firstName;
private String middleName;
private List<Details> detailsList;
//Setter and getter for first name and last name
public List<Details> getDetailsList() {
return detailsList;
}
public void setDetailsList(List<Details> detailsList) {
this.detailsList = detailsList;
}
}
在添加routes条目之后,我得到了这个错误“cannot resolve reference”
请给出一些关于如何定义一个post方法的建议,该方法在路由中采用javapojo?
1条答案
按热度按时间gwbalxhn1#
我不认为在java中直接使用vo是可能的。您需要使用播放请求类型。然后从请求中得到json形式的主体。您可以使用任何json解析器来实现这一点。游戏有一个,但你可以用任何你喜欢的。您的路线如下所示:
从控制器函数中删除static,让它接受http.request而不是vo。
对于这个示例,我使用了jackson json解析器。要使这个特定的解决方案工作,还需要将字段设置为公共字段,因为解析器不适用于私有字段。我建议使用他们网站上的播放文档。可以在这里找到:https://www.playframework.com/documentation/2.8.x/javahome 我建议您在尝试play框架时尝试scala,它使这个框架的代码更加简洁。