【问题标题】:Sprint Boot - Post a single string/enum to a REST serviceSpring Boot - 将单个字符串/枚举发布到 REST 服务
【发布时间】:2017-05-19 22:31:23
【问题描述】:

我正在尝试通过 Spring Boot 将单个字符串发送到 REST API,但我不断收到 400:错误请求。我通过邮递员检查了这个 json 是否被 API 接受:

{
    "currency": "USD"
}

我编写了以下代码来发布到此服务:

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

货币枚举如下:

public enum Currency 
{
    USD, EUR
}

我尝试将它作为枚举和字符串值发送,但都没有成功。

【问题讨论】:

  • 您也可以发布控制器代码吗?

标签: rest spring-boot http-post consumer


【解决方案1】:

您应该创建一个封装枚举的类,例如:

public class CreateAccountRequest {

  private final Currency currency;

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

  public Currency getCurrency() {

  }
}

那么当你做 postForObject:

restTemplate.postForObject(url, createAccountRequest, Account.class);

【讨论】:

  • 我已经有一个 DTO 对象帐户,我还需要一个单独的类吗?让我更新我的原始帖子以包含 Account DTO。
猜你喜欢
  • 2019-10-07
  • 1970-01-01
  • 2018-01-04
  • 2023-03-23
  • 2018-08-21
  • 1970-01-01
  • 2022-01-19
  • 2020-11-15
  • 1970-01-01
相关资源
最近更新 更多