У меня проблемы с большинством вызовов API, приходящих на наш веб-сайт Magento 2, и я продолжаю возвращать ошибку 404 на устройство Android.
У меня нет проблем ни с этими вызовами API, ни с использованием Ionic Serve, ни сПочтальон.
ionic.config.json
{
"name": "appname",
"app_id": "f82ad91b",
"integrations": {
"cordova": {}
},
"type": "ionic-angular",
"proxies": [
{
"path": "/api",
"proxyUrl": "https://{url}/index.php/rest/V1"
}
]
}
В моих провайдерах я переключаю пути в соответствии с устройством:
провайдеры / foo / bar.ts
private apiUrl:string;
/**
* @public
* @constructor
*/
constructor(
public http: HttpClient,
public platform: Platform,
public storage: Storage,
private authProvider: AuthenticateProvider,
private catalogProvider: CatalogProvider) {
if(this.platform.is('core') || this.platform.is('mobileweb')){
this.apiUrl = '/api';
} else {
this.apiUrl = 'https://{url}/index.php/rest/V1';
}
}
config.xml
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
ОБНОВЛЕНИЕ - 2018-05-23
Одна вещь, которую я заметил с сообщением об ошибке, состоит в том, что эти 404 ошибки дают мне HTML-ответ, похожий на страницу ошибки 503.
Заметил, что в заголовках ответов, использующих инструменты Chromes для проверки, что плохие ответы также добавляют content-security-policy: upgrade-insecure-requests
.Я отправляю запросы с URL-адресом HTTPS, а на стороне сервера - HTTPS.Не уверен, что происходит с этим.
ОБНОВЛЕНИЕ - 2018-05-24
Сборка iOS работаетхотя я должен использовать UIWebView, но эта деталь не имеет отношения к этому вопросу.
Добавлен тег CSP в файл index.html, и это не внесло никаких изменений для приложения Android.