Javascript 获取枚举并发送枚举值

Javascript 获取枚举并发送枚举值,javascript,java,spring,Javascript,Java,Spring,我使用spring,springrestcontroller,我在Java中有一个enum public enum PaymentModeEnum { CASH, DEBIT, CHECK, CREDITCARD; } 如何在javascript中获取枚举值并将枚举值发送到java?从您的问题中,我假设您有一个前端,带有一些javascript,使用Spring调用用java编写的REST端点。 我不知道如何在javascript和Java(它们是不同的语言)之间共享枚举,但是您可以发

我使用spring,springrestcontroller,我在Java中有一个enum

public enum PaymentModeEnum {
    CASH, DEBIT, CHECK, CREDITCARD;
}

如何在javascript中获取枚举值并将枚举值发送到java?

从您的问题中,我假设您有一个前端,带有一些javascript,使用Spring调用用java编写的REST端点。 我不知道如何在javascript和Java(它们是不同的语言)之间共享枚举,但是您可以发送它的序号值,也可以发送枚举值的名称。我会选择后者

这样,您就可以在端点中将其作为查询参数获取。像这样:

@RequestMapping(
    path = some/path
    method = GET)
public SomeTypeAsResponse method(@RequestParam(name = "payment_mode") PaymentModeEnum paymentMode) {
    ...
}

1.要在JavaScript中提取枚举,请执行以下操作:

var enumvar = document.inputId.Packages.com.MyClass$MyEnumYesNo.YES

2.要将枚举从Javscript发送到RestController,请直接将其作为字符串传递,然后将其映射为Controller中方法输入参数中的枚举。

如果您试图使用Javascript REST调用来设置/获取枚举值,请调用Spring API-

  • 可以使用路径变量或查询字符串设置枚举名称。下面是查询字符串的示例。
    //https://localhost:8444/getByEnumVal?enumVal1=CASH
    @RequestMapping(value=“/getByEnumVal”,method=RequestMethod.GET)
    公共字符串集合枚举(
    @RequestParam(value=“enumVal1”,required=false)字符串enumVal1){
    Service.methodcall(enumVal1);
    ...
    }
  • 枚举值可以直接作为JSON返回,也可以通过在POJO中设置来返回
    @RequestMapping(value=“/getEnumVal”,method=RequestMethod.GET)
    公共字符串getEnumVal(){
    返回PaymentModeEnum.CASH;
    }

将其作为类似于
CASH
的字符串传递,并在rest控制器
方法(@RequestParam PaymentModeEnum enum){}