2016-05-15 185 views
1

我使用spring,spring restcontroller,我在Java中有一個枚舉。獲取枚舉併發送枚舉值

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

如何獲取JavaScript中的枚舉值並將枚舉值發送到java?

+0

傳設置它在POJO像'CASH',並在其餘控制器'方法字符串返回爲JSON(@RequestParam PaymentModeEnum枚舉){} ' –

回答

0

從你的問題我假設你有一個JavaScript的前端,使用Spring調用Java編寫的REST端點。 我不知道如何在javascript和Java之間共享enum(它們是不同的語言),但是您可以發送它的序號值或枚舉值的名稱。我會選擇後者。

這樣您就可以將它作爲查詢參數提供給您的端點。像這樣:

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

1.對於在JavaScript中提取枚舉做類似如下:

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

2.對於從Javscript發送到枚舉RestController,直接把它作爲一個字符串,然後把它映射爲Controller中的方法輸入參數中的Enum。

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; }