【问题标题】:How to check response of HTTP GET method using ID如何使用 ID 检查 HTTP GET 方法的响应
【发布时间】:2023-03-24 11:04:01
【问题描述】:

这是我的控制器代码:

@RequestMapping(value = RestURIConstants.GET_APP_MENU_LIST, method = RequestMethod.GET)
public @ResponseBody ComListMaster getCommonMasterByMasterId(@PathVariable("listid") Integer listId)
{
    ComListMaster commonMaster = commonService.getCommonMasterList(listId);
    logger.debug("Calling master list");
    return commonMaster;
}

上面的代码给了我一个例外:

原因:java.lang.NumberFormatException:对于输入字符串:“{listid}”

请告诉我如何获取上述代码的 GET 响应。

提前致谢。 这里是 ComListMaster

public class ComListMaster extends BaseModel implements java.io.Serializable

{ 私有静态最终长序列版本UID = 5408136749548491686L;

@Id
@Column(name = "LIST_ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer listId;

@Column(name = "LIST_DESC")
private String description;

@Column(name = "LIST_VALUE")
private String value;

@OneToMany(fetch = FetchType.EAGER, mappedBy = "comListMaster")
private Set<ComListDetails> comListDetails = new HashSet<ComListDetails>();

public Integer getListId()
{
    return listId;
}

public void setListId(Integer listId)
{
    this.listId = listId;
}

public String getDescription()
{
    return description;
}

public void setDescription(String description)
{
    this.description = description;
}

public String getValue()
{
    return value;
}

public void setValue(String value)
{
    this.value = value;
}

public Set<ComListDetails> getComListDetails()
{
    return comListDetails;
}

public void setComClientAddresses(Set<ComListDetails> comListDetails)
{
    this.comListDetails = comListDetails;
}

@Override
public String toString()
{
    return "ComListMaster [listId=" + listId + ", description=" + description + ", value=" + value
            + ", comListDetails=" + comListDetails + "]";
}

}

我的例外是:java.lang.NumberFormatException:对于输入字符串:“{listid}”

API: public static final String GET_APP_MENU_LIST = "/api/app/common/master/{listid}";

【问题讨论】:

  • 方法怎么调用?
  • listId 是整数(即数字)不是字母吗?
  • 似乎他在不更改 {listid} 参数的情况下调用 url,因此是 numberFormatExc。附:是的,和@Janar 回答的一样
  • @Zeromus 如何克服这个异常请详细告诉我

标签: spring hibernate rest


【解决方案1】:

您可以删除 ("listid") - 它不是强制性的,那么它不会 java.lang.NumberFormatException: For input string: "{}"。

@RequestMapping(value = "/{listId}", method = RequestMethod.GET)
public @ResponseBody ComListMaster getCommonMasterByMasterId(@PathVariable Integer listId)
{
    ComListMaster commonMaster = commonService.getCommonMasterList(listId);
    logger.debug("Calling master list");
    return commonMaster;
}

【讨论】:

  • 删除 ("listid") 后,它给了我:Integer 类型的方法参数缺少 URI 模板变量 'listId'。 HTTP 状态 500 – 内部服务器错误。我想使用 listid 来跟踪记录。
  • 正如@zeromus 所说的您的请求存在问题。将您的请求添加到问题中
【解决方案2】:

您发布的代码是正确的。

该错误似乎表明您正在尝试访问 /api/app/common/master/{listid} 网址。相反,您应该将 {listid} 替换为真实 id,例如 /api/app/common/master/1

【讨论】:

  • 非常感谢我得到了输出....哇。你拯救了我的一天。非常感谢你..得到了期待!!!!!!!
  • @AnupSonkusare 欢迎您。如果答案是正确的,你应该考虑接受它。
  • 我接受了,尽管我的声誉低于 15..请对我的问题投票
猜你喜欢
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 2013-01-11
相关资源
最近更新 更多