当前位置: 首页 > 知识库问答 >
问题:

Sprint引导-将单个字符串/枚举发布到REST服务

端木元青
2023-03-14

我试图通过Spring Boot向RESTAPI发送一个字符串,但我一直收到400:错误的请求。我通过postman检查了这个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
}

我尝试将其作为枚举值和字符串值发送,但均无效。

共有1个答案

严永丰
2023-03-14

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

public class CreateAccountRequest {

  private final Currency currency;

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

  public Currency getCurrency() {

  }
}

然后当你做postForObject时:

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

 类似资料:
  • 目前我们迭代字符串如下: 我觉得写下面的代码是多余的。 有没有其他方法可以在迭代时直接获取“String.Index”? 像这样的东西

  • 问题内容: 我有一个类别hibernate模型: 其中有一个类型字符串字段。我也有一个Java枚举,它表示类别的类型: 我想用它代替字符串类型。SQL在varchar参数中接受两个不同的值:或。我希望Category模型类接受一个枚举变量- 每当hibernate要求它时,都以某种方式将其映射到字符串。 可能吗? 问题答案: 是的,有可能。它应该是:

  • 我有一个类别Hibernate模型: 它们具有类型字符串字段。另外,我还有一个Java枚举,它表示类别的一种类型:

  • 本文向大家介绍Java将枚举转换为字符串,包括了Java将枚举转换为字符串的使用技巧和注意事项,需要的朋友参考一下 示例 有时您想将枚举转换为String,有两种方法可以实现。 假设我们有: 那么,我们如何将类似的东西转换Fruit.APPLE为"APPLE"? 使用转换 name() name()是一个内部方法,enum该方法返回String枚举的表示形式,返回值精确String表示枚举值的定义

  • 问题内容: 我有一个类别休眠模型: 其中有一个类型字符串字段。我也有一个Java枚举,它表示类别的类型: 我想用它代替字符串类型。SQL在varchar参数中接受两个不同的值:或。我希望Category模型类接受一个枚举变量- 并在休眠要求时以某种方式将其映射到字符串。 可能吗? 问题答案: 是的,有可能。它应该是:

  • 我正在使用以下代码来包含枚举值和与之关联的相应字符串。我想知道是否有更简单的方法来实现这一点?