REST 调用响应 HTTPS 状态 415

Posted

技术标签:

【中文标题】REST 调用响应 HTTPS 状态 415【英文标题】:REST call response HTTPS Status 415 【发布时间】:2019-07-15 10:02:48 【问题描述】:

请在下面找到我的控制器代码。

@RequestMapping(value = "/reconrangesummary", method=RequestMethod.POST, produces=MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public String getReconRangeSummaryReport(@RequestBody RequestData requestData)
    logger.info("Inside Interest Service Controller - getReconRangeSummaryReport");
    List<ReconRangeSummaryDetails> reconRangeSummaryDetails = new ArrayList<ReconRangeSummaryDetails>();
    DashboardRequestDetails requestDetails = AccountUtils.convertRequest(requestData);
    reconRangeSummaryDetails = accountService.getReconRangeSummaryDetails(requestDetails);
    logger.info("Exit Interest Service Controller - getReconRangeSummaryReport");

    return new Gson().toJson(reconRangeSummaryDetails);


请求数据类:

public class RequestData 

private String role;
private String branchCode;
private String circle;
private String requestDate;
public String getRole() 
    return role;

public void setRole(String role) 
    this.role = role;

public String getBranchCode() 
    return branchCode;

public void setBranchCode(String branchCode) 
    this.branchCode = branchCode;

public String getCircle() 
    return circle;

public void setCircle(String circle) 
    this.circle = circle;

public String getRequestDate() 
    return requestDate;

public void setRequestDate(String requestDate) 
    this.requestDate = requestDate;

我正在使用 POST 方法和 content-type:application/json 在邮递员中传递以下请求。

"role":"makeruser", "branchCode":"00112", "circle":"circlename", "requestDate":"17-12-2018"   

但我收到如下错误响应。

HTTP 状态 415 服务器拒绝了这个请求,因为请求实体的格式不受所请求方法 () 的请求资源支持。

【问题讨论】:

这一切都来自您的requestDate 格式吗?几天前我正在与同样的问题作斗争,对我来说这就是解决方案。 我认为这不是问题。在主线程中添加 RequestData 类以获取您的信息。 好的。 Postman 发送的硬数据是什么?您可以通过发送按钮下方的代码链接看到这一点。 您好 JussiV,请在下方查找信息。 POST /scfu_dashboard_services/reconrangesummary HTTP/1.1 主机:localhost:8080 内容类型:application/json 缓存控制:无缓存 Postman-Token:15fc05d5-c56d-8975-274f-86c74176b1b1 “角色”:“makeruser”,“ branchCode":"00112", "circle":"circlename", "requestDate":"17-12-2018" 【参考方案1】:

在发布您的请求时,您也必须在这种情况下指定 JSON/应用程序媒体类型。 如果您使用 Postman,请更改以下复选框:

如果需要,也可以使用命令行版本:

curl -d '"role":"makeruser", "branchCode":"00112", "circle":"circlename", "requestDate":"17-12-2018"' -H "Content-Type: application/json" -X POST http://localhost:9009/new/reconrangesummary

【讨论】:

在邮递员中,我只发布了您提到的请求。通过选择战争和 JSON(application/json)。以相同的错误响应结束 你能发布你的 curl 输出吗?另外,我建议确保您的正文采用 UTF8 编码并将端点更改为 MediaType.APPLICATION_JSON_URF8 以保持一致性

以上是关于REST 调用响应 HTTPS 状态 415的主要内容,如果未能解决你的问题,请参考以下文章

Spotify API 发布调用 – 响应 415?

使用 python 请求更新网页返回错误响应代码 415

415 Restkit 响应中不支持的媒体类型

带有 JSON 的 Http 415 不支持的媒体类型错误

了解 REST 响应和 HTTP 状态码

在 REST 响应中使用非标准 HTTP 状态代码是不是很好? [关闭]