我有自定义模块,并在其中创建了一个自定义Web API。这是位于etc文件夹下的webapi.xml。
<!-- post request -->
<route url="/V1/palindrome" method="POST">
<service class="EML\Palindrome\Api\PalindromeCheckInterface" method="check" />
<resources>
<resource ref="anonymous" />
</resources>
</route>
<route url="/V1/palindrome" method="PUT">
<service class="EML\Palindrome\Api\PalindromeCheckInterface" method="check" />
<resources>
<resource ref="anonymous" />
</resources>
</route>
这是我如何调用请求:
<script type="text/javascript">
require([
'jquery',
'mage/translate',
'mage/storage',
'uiComponent',
'ko'
], function($, $t, storage, Component, ko) {
'use strict';
$(document).ready(function() {
$('#palindrome-checker').submit(function(e) {
e.preventDefault();
if($(this).valid()) {
var ajaxValue = [{
'stringToCheck' : $('#palindrome-input').val()
}];
var serviceUrl = 'rest/V1/palindrome/save';
var payload = {
optionVal: JSON.stringify(ajaxValue)
};
storage.post(
serviceUrl,
JSON.stringify(payload)
).done(function( response ) {
alert('Palindrome!');
}).fail(function( response ) {
alert('Not Palindrome :(');
});
return true;
}
return false;
});
});
});
</script>
ajax请求运行正常。但是,我收到404错误,这是响应。我为什么会收到此错误?
{“ message”:“请求与任何路由都不匹配。”,“ trace”:null}