我使用spring,spring restcontroller,我有一个Java的枚举。
public enum PaymentModeEnum {
CASH, DEBIT, CHECK, CREDITCARD;
}
如何在javascript中获取枚举值并将枚举值发送给java?
答案 0 :(得分:1)
如果您尝试使用Javascript REST调用Spring API来设置/获取枚举值 -
//https://localhost:8444/getByEnumVal?enumVal1=CASH
@RequestMapping(value = "/getByEnumVal", method = RequestMethod.GET)
public String setEnum(
@RequestParam(value="enumVal1", required=false) String enumVal1) {
Service.methodcall(enumVal1);
...
}
@RequestMapping(value = "/getEnumVal", method = RequestMethod.GET)
public String getEnumVal() {
return PaymentModeEnum.CASH;
}
答案 1 :(得分:0)
从你的问题我假设你有一个前端使用一些javascript调用用Java编写的REST端点,使用Spring。 我不知道如何在javascript和Java之间共享枚举(它们是不同的语言),但您可以发送其序数值或枚举值的名称。我会选择后者。
这样您就可以将其作为端点中的查询参数。像这样:
@RequestMapping(
path = some/path
method = GET)
public SomeTypeAsResponse method(@RequestParam(name = "payment_mode") PaymentModeEnum paymentMode) {
...
}
答案 2 :(得分:0)
1.在JavaScript中提取Enum做类似下面的事情:
var enumvar = document.inputId.Packages.com.MyClass$MyEnumYesNo.YES
2.要将Enum从Javscript发送到RestController,直接将其作为String传递,然后将其作为Enum映射到Controller中的方法输入参数。