Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RESTEasy映射a";“遗产”;穆德尔休息服务_Rest_Resteasy_Moodle - Fatal编程技术网

RESTEasy映射a";“遗产”;穆德尔休息服务

RESTEasy映射a";“遗产”;穆德尔休息服务,rest,resteasy,moodle,Rest,Resteasy,Moodle,我正在尝试使用RESTEasy客户端映射“遗留”REST服务器 此ws的URL映射如下: 端点始终是server.php,要调用的函数使用queryparam映射 @POST @Path("/server.php") @Produces("application/json") List<Map<String, Object>> getCourses( @QueryParam("wstoken") String token , @Que

我正在尝试使用RESTEasy客户端映射“遗留”REST服务器

此ws的URL映射如下:

端点始终是server.php,要调用的函数使用queryparam映射

@POST
@Path("/server.php")
@Produces("application/json")
List<Map<String, Object>> getCourses(
          @QueryParam("wstoken") String token
        , @QueryParam("wsfunction") String function
        , @QueryParam("moodlewsrestformat") String format);

@POST
@Path("/server.php")
@Produces("application/json")
String createUser(
          @QueryParam("wstoken") String token
        , @QueryParam("wsfunction") String function
        , @QueryParam("moodlewsrestformat") String format
        , @Form User user);
@POST
@路径(“/server.php”)
@生成(“应用程序/json”)
列出课程(
@QueryParam(“wstoken”)字符串标记
,@QueryParam(“wsfunction”)字符串函数
,@QueryParam(“moodlewsrestformat”)字符串格式);
@职位
@路径(“/server.php”)
@生成(“应用程序/json”)
字符串创建用户(
@QueryParam(“wstoken”)字符串标记
,@QueryParam(“wsfunction”)字符串函数
,@QueryParam(“moodlewsrestformat”)字符串格式
,@表格用户);
我这样称呼它

private static void getCourses() {
    final MoodleRest client = ProxyFactory.create(MoodleRest.class, "http://localhost/webservice/rest/");
    final List<Map<String, Object>> s = client.getCourses(token, "core_course_get_courses", "json");
    System.out.println("s = " + s);
}
private static void getCourses(){
final MoodleRest client=ProxyFactory.create(MoodleRest.class)http://localhost/webservice/rest/");
最终列表s=client.getCourses(标记“core_course_get_courses”,“json”);
System.out.println(“s=“+s”);
}
让我们忽略一个事实,“get_courses”方法是使用POST映射的,并且令牌是使用此POST上的QueryParameter传递的,是否可以避免在每个方法上传递函数和响应格式?我想使用注释来映射它

我试着使用

/php?function=core\u course\u get\u courses


但显然,这不是正确的继续方式(另外,由于它已转义,因此无法工作)

也许在方法中直接使用HttpServletRequest并“手动”解析请求参数会更好。我的意思是:

@POST
@路径(“/server.php”)
@生成(“应用程序/json”)
列出getCourses(@Context-HttpServletRequest){
//解析请求。getParameters()
}

也许在方法中直接使用HttpServletRequest并“手动”解析请求参数会更好。我的意思是:

@POST
@路径(“/server.php”)
@生成(“应用程序/json”)
列出getCourses(@Context-HttpServletRequest){
//解析请求。getParameters()
}
@POST
@Path("/server.php")
@Produces("application/json")
List<Map<String, Object>> getCourses(@Context HttpServletRequest request){
   //parse request.getParameters()
}