2017-05-19 13 views
0

私はSpringブートを介してREST APIに単一の文字列を送信しようとしていますが、私は400:Bad Requestを取得し続けています。私は、このJSONは、APIによって受け入れられていることを郵便配達で確認:Sprint Boot - 単一の文字列/列挙をRESTサービスに投稿

{ 
    "currency": "USD" 
} 

私は、このサービスに投稿する次のコードを書いた:

public enum Currency 
{ 
    USD, EUR 
} 

public Account createAccount(Currency currency) 
{ 
     Account account = (Account) restTemplate.postForObject(url, currency.toString(), Account.class); 
     return account; 
} 

通貨列挙型を以下に示します。

私は列挙型と文字列の値として両方を送信しようとしましたが、どちらも機能しませんでした。

+0

コントローラコードも投稿できますか? –

答えて

0

あなたが列挙例えばカプセル化するクラスを作成する必要があります

public class CreateAccountRequest { 

    private final Currency currency; 

    public CreateAccountRequest(Currency currency) { 
    this.currency = currency; 
    } 

    public Currency getCurrency() { 

    } 
} 

を次にあなたが行うときpostForObject:

restTemplate.postForObject(URL、createAccountRequest、Account.class)。

+0

私はすでにDTOオブジェクトのアカウントを持っていますが、まだ別のクラスが必要ですか?元の投稿を更新して、アカウントDTOを追加しましょう。 – zhaider

関連する問題