2017-05-02 4 views
2
public ResponseEntity<TastyDashResponse> order(@PathVariable("restaurantId") String restaurantId, 
                 @RequestBody RestaurantOrderBook request, 
                 @RequestBody ExpItems exp) {} 

私は2つのObjectsRestaurantOrderBookExpItemsを持っています。着信要求にはどちらか一方が必要であり、他方はオプションになります。JSON要件に応じてSpring RESTコントローラでリクエストを取得する方法は?

同じ方法でこれを達成する方法。このときcode404 bad requestとなります。それを手伝ってください。

+0

: ソリューションは、この本のように、すべてのreleventデータをキャプチャしますつのオブジェクトを作成します。なぜあなたは 'RestaurantOrderBook'と 'ExpItems'を1つのDTOオブジェクトに結合しないのですか? – eparvan

+0

あなたのリクエストのパラメータがオプションの場合、 '@PathVariable'を' @RequestParam(value = "restaurantId"、required = false)に変更することができます。 – Sajjad

+0

@eparvanありがとう –

答えて

1

2つの@RequestBodyを1つのオブジェクトにバインドすることはできません。私は問題が複数@RequestBody注釈であると思い

public class Data { 
    private String restaurantId; 
    private RestaurantOrderBook request; 
    private ExpItems exp; 
    getters/setters 
    } 



public ResponseEntity<TastyDashResponse> order(@RequestBody Data data) {} 
+0

あなたの助けに感謝の男。 –

+0

@NavaneethanArunいつでも歓迎します –

関連する問題