Я зіткнувся з тим же питанням у своїй програмі Angular. Я використовував RocketChat REST API у своїй програмі, і я намагався використовувати rooms.createDiscussion
, але як помилку, як показано нижче.
ERROR Error: Uncaught (in promise): HttpErrorResponse: {"headers":{"normalizedNames":{},"lazyUpdate":null},"status":200,"statusText":"OK","url":"myurl/rocketchat/api/v1/rooms.createDiscussion","ok":false,"name":"HttpErrorResponse","message":"Http failure during parsing for myrul/rocketchat/api/v1/rooms.createDiscussion","error":{"error":{},"text":"
Я спробував пару речей, як змінити, responseType: 'text'
але жодна з них не працювала. Врешті-решт я зміг знайти проблему з моєю установкою RocketChat. Як згадувалося в журналі змін RocketChat, API rooms.createDiscussion
був представлений у версії 1.0.0, на жаль, я використовував нижчу версію.
Моя пропозиція - переконатися, що API REST працює нормально чи ні, перш ніж витратити час на виправлення помилки у вашому кутовому коді. Я використовував curl
команду, щоб перевірити це.
curl -H "X-Auth-Token: token" -H "X-User-Id: userid" -H "Content-Type: application/json" myurl/rocketchat/api/v1/rooms.createDiscussion -d '{ "prid": "GENERAL", "t_name": "Discussion Name"}'
Там же я отримував невірний HTML як відповідь.
<!DOCTYPE html>
<html>
<head>
<meta name="referrer" content="origin-when-crossorigin">
<script>/* eslint-disable */
'use strict';
(function() {
var debounce = function debounce(func, wait, immediate) {
Замість дійсної відповіді JSON наступним чином.
{
"discussion": {
"rid": "cgk88DHLHexwMaFWh",
"name": "WJNEAM7W45wRYitHo",
"fname": "Discussion Name",
"t": "p",
"msgs": 0,
"usersCount": 0,
"u": {
"_id": "rocketchat.internal.admin.test",
"username": "rocketchat.internal.admin.test"
},
"topic": "general",
"prid": "GENERAL",
"ts": "2019-04-03T01:35:32.271Z",
"ro": false,
"sysMes": true,
"default": false,
"_updatedAt": "2019-04-03T01:35:32.280Z",
"_id": "cgk88DHLHexwMaFWh"
},
"success": true
}
Тож після оновлення до останнього RocketChat я зміг використати згаданий REST API.