Reputation: 11
When I tried to hit the request through postman. I am facing the some problem. I set this in the aws authentication in postman:-
"Access key:- xxxxxxxxxx
Secrete key:-xxxxxxxxxx
Aws region:- ap-south-1
Service name:- execute-api".
while POST i got this error
{ "message": "The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.\n\nThe Canonical String for this request should have been\n'POST\n/dms/api/v1/filestore/file\n\ncontent-length:29940\ncontent-type:multipart/form-data\nhost:e7ffona9b4.execute-api.ap-south-1.amazonaws.com\nx-amz-date:20170714T111258Z\n\ncontent-length;content-type;host;x-amz-date\n15c77e9022d5c4e9de523e7279515d245695c76115ebabe7517119701f9ae963'\n\nThe String-to-Sign should have been\n'AWS4-HMAC-SHA256\n20170714T111258Z\n20170714/ap-south-1/execute-api/aws4_request\nb0e6151f24eb3a4aa5520da442bdafe7625a44ed7c15f3109eeb78eef038a6cd'\n" }
while GET i got this
{ "message": "No method found matching route api/v1/filestore/file for http method GET." }
In the code I did something like this
@RestController
@requestmapping(value = "/v1/filestore")
public class FileUploadController {
@Autowired
private IFileStoreService fileStoreService;
@CrossOrigin
@ResponseBody
@RequestMapping(value = "/file/{id}", method = RequestMethod.GET)
and in application.properties i set
server.contextPath=/api
If I was wrong then please lead me the correct argument and help me to fix this issue.
Thanks
Upvotes: 1
Views: 8856
Reputation: 3745
Debugging signature problems can be difficult and there could be multiple problems involved. Looking over your description, here's one problem I noticed...
In the error message that you're getting back using postman, we have:
The request signature we calculated does not match the signature...The Canonical String for this request should have been...content-type:multipart/form-data...
API Gateway does not support nor correctly handle multipart/form-data
Upvotes: 0
Reputation: 852
Double check these:
The key you're assigning to the object doesn't start with a period.
There should not be any invisible character while paste.
Try to encoding the CopySource with encodeURIComponent()
Upvotes: 0