如何在REST-mvc中将REST参数限制为枚举?

时间:2015-01-23 13:47:19

标签: java spring rest spring-mvc

我希望按enum限制REST服务参数,如下所示:

public class enum {
    TEST;
}

@RestController
public class MyRest {
   @RequestMapping(method = RequestMethod.GET)
   public Object content(@RequestParam value="list" required=false) List<MyEnum> list) {
    Sysout(list);
  }
}

如果我致电:/app?list=TEST,这很有用。

但是,当调用/app?list=test(小写字母)时,其余服务不会响应。

我如何为要接受的枚举类型提供自定义值?

1 个答案:

答案 0 :(得分:-6)

我不确定你这样做的方式。但我们可以用另一种方式做到这一点。

public class enum {
  TEST(1, "TEST");
}

@RestController
public class MyRest {
  @RequestMapping(method = RequestMethod.GET)
  public Object content(@RequestParam value="list" required=false) List<Integer> list) {
    for(Integer int: list)
    sysout(enum.get(int));
  }
}

您可以传入一个整数列表,并将枚举映射到这些int值。传递一个整数列表对我来说似乎更清晰。

谢谢!

相关问题