2017-10-06 42 views
0

所以我有一個春天RestController和我的一個端點是用來傳遞到我的RequestBody作爲這樣一個通用類型的對象上執行操作:我應該如何處理可以具有多種類型的RequestBody的Java POST?

似乎
@PostMapping("/endpoint") 
public <T extends Comparable<T>> ResponseEntity<Integer> balancingPost(@RequestBody MyCustomObject<T> mco) 

所以經過大量的搜索也不會這樣可以在沒有明確說明某一點的類型的情況下完成。然而,就我看來,我的控制器無法知道類型(儘管如此,調用POST的程序)。那我該如何處理呢?有沒有辦法發佈我的T級,並以某種方式映射它?

回答

0

嘗試以下

public ResponseEntity<?> balancingPost(@RequestBody MyCustomObject<T> mco) { 
    ResponseEntity<?> response = null; 

    try { 
     /*Some condition*/ 
     if (!auth.equals(authCode)) { 
      response = new ResponseEntity<>("Unauthorized", HttpStatus.UNAUTHORIZED); 
     } else { 
      MyModel model = service.getModel(); 
      response = new ResponseEntity<>(model, HttpStatus.OK); 
     } 
    } catch (Exception ex) { 
     response = new ResponseEntity<>(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); 
     ex.printStackTrace(); 
    } 

    return response; 
} 
相關問題