错误 405:不支持请求方法 POST
Error 405: Request method POST not supported
最初我请求 object 呼叫休息服务是:-
public class RequestParamDto {
private String tokenID;
private String taxID;
private String affiliateID;
private long planID;
private String participantId;
private String[] participantIdArr;
}
和对应的JSON请求object是:-
{
"tokenID": "12356446",
"taxID": "123456",
"planID": 123456,
"affiliateID": "7876675901282905002"
}
我在 POSTMAN CLIENT 的 header 部分传递了一些参数-
x-username:abc126
x-enterpriseid:F1111
x-uniqueid:4T5646464
x-ris-audienceview:emplabc
Content-Type:application/json
Accept:application/json
以上请求在 POSTMAN CLIENT 中运行良好。
现在我的请求 object 包含自定义列表 objects.It 将如下所示:
public class ContributionsRequestParamDto {
private String tokenID;
private String taxID;
private String affiliateID;
private long planID;
private String accountNumber;
private String bankAccountNumber;
private String transitId;
private BigDecimal eftAmt;
private Date ppeDate;
private String taxYear;
private Short planType;
private List<ParticipantsDeferralDto> participantsDeferrals;
private List<EmployersContributionDto> employersContributions;
}
及其对应的JSON请求object为:
{
"tokenID" : "123456789",
"taxID" : "123456",
"affiliateID" : "123456789",
"planID" : 123456,
"ppeDate" : "2017-10-24",
"taxYear" : "2017",
"planType" : 1,
"participantsDeferrals" : [ {
"taxId" : "555555",
"participantDeferralAmt" : 22.00
} ],
"employersContributions" : [ {
"taxId" : "555555",
"employerContributionAmt" : 22.00
} ]
}
对于上述请求,我在 header 部分传递了相同的参数。
我收到 Error 405: Request method 'POST' not supported
错误。我试图用 http://api100.abc.xyz.com:9080/abcd/api/sscws/v1/saveContributions
URL 来满足这个请求。我是否为此请求做错了什么或者我错过了什么?
谢谢!
编辑 -
我想调用的 REST 函数是-
@Transactional
@RestController
@RequestMapping("/v1")
@Api(value="v1", description="")
public class SscRestController {
@RequestMapping(value="/saveContributions",
method=RequestMethod.POST, produces={MediaType.APPLICATION_JSON_VALUE}, consumes={MediaType.APPLICATION_JSON_VALUE})
@ApiOperation(value="Returns the saved contributions object")
public String saveContributions(@RequestBody ContributionsRequestParam contributionsParam) throws Exception {
return "success";
}
}
405 错误只是表示端点不接受具有指定 Http 方法的请求。在你的情况下是 POST.
请验证 REST 端点是否正在侦听具有给定内容类型的 POST 方法。
此错误与 JSON 对象的复杂性无关。
可能是打字错误或者我错了但是你有 ContributionsRequestParamDto 作为你想要接受的 dto,但是你的端点方法 saveContributions(..) 将 ContributionsRequestParam 作为@请求正文
在 "ContributionsRequestParamDto.java" 中,我已将 ppeDate 声明为日期。我已将其更改为字符串,它对我有用。
最初我请求 object 呼叫休息服务是:-
public class RequestParamDto {
private String tokenID;
private String taxID;
private String affiliateID;
private long planID;
private String participantId;
private String[] participantIdArr;
}
和对应的JSON请求object是:-
{
"tokenID": "12356446",
"taxID": "123456",
"planID": 123456,
"affiliateID": "7876675901282905002"
}
我在 POSTMAN CLIENT 的 header 部分传递了一些参数-
x-username:abc126
x-enterpriseid:F1111
x-uniqueid:4T5646464
x-ris-audienceview:emplabc
Content-Type:application/json
Accept:application/json
以上请求在 POSTMAN CLIENT 中运行良好。
现在我的请求 object 包含自定义列表 objects.It 将如下所示:
public class ContributionsRequestParamDto {
private String tokenID;
private String taxID;
private String affiliateID;
private long planID;
private String accountNumber;
private String bankAccountNumber;
private String transitId;
private BigDecimal eftAmt;
private Date ppeDate;
private String taxYear;
private Short planType;
private List<ParticipantsDeferralDto> participantsDeferrals;
private List<EmployersContributionDto> employersContributions;
}
及其对应的JSON请求object为:
{
"tokenID" : "123456789",
"taxID" : "123456",
"affiliateID" : "123456789",
"planID" : 123456,
"ppeDate" : "2017-10-24",
"taxYear" : "2017",
"planType" : 1,
"participantsDeferrals" : [ {
"taxId" : "555555",
"participantDeferralAmt" : 22.00
} ],
"employersContributions" : [ {
"taxId" : "555555",
"employerContributionAmt" : 22.00
} ]
}
对于上述请求,我在 header 部分传递了相同的参数。
我收到 Error 405: Request method 'POST' not supported
错误。我试图用 http://api100.abc.xyz.com:9080/abcd/api/sscws/v1/saveContributions
URL 来满足这个请求。我是否为此请求做错了什么或者我错过了什么?
谢谢!
编辑 - 我想调用的 REST 函数是-
@Transactional
@RestController
@RequestMapping("/v1")
@Api(value="v1", description="")
public class SscRestController {
@RequestMapping(value="/saveContributions",
method=RequestMethod.POST, produces={MediaType.APPLICATION_JSON_VALUE}, consumes={MediaType.APPLICATION_JSON_VALUE})
@ApiOperation(value="Returns the saved contributions object")
public String saveContributions(@RequestBody ContributionsRequestParam contributionsParam) throws Exception {
return "success";
}
}
405 错误只是表示端点不接受具有指定 Http 方法的请求。在你的情况下是 POST.
请验证 REST 端点是否正在侦听具有给定内容类型的 POST 方法。
此错误与 JSON 对象的复杂性无关。
可能是打字错误或者我错了但是你有 ContributionsRequestParamDto 作为你想要接受的 dto,但是你的端点方法 saveContributions(..) 将 ContributionsRequestParam 作为@请求正文
在 "ContributionsRequestParamDto.java" 中,我已将 ppeDate 声明为日期。我已将其更改为字符串,它对我有用。