Ответ 422 Ошибка при публикации данных в Jmeter - PullRequest
0 голосов
/ 14 марта 2020

У меня проблема при передаче JSON через метод POST в JMeter. Все мои экземпляры верны, но почему это показывает мне ошибку «экземпляр не может быть нулевым». Я уже тестировал почтальон, он работает, но когда я использовал JMeter, это не так. Можете ли вы помочь мне решить это? спасибо

JSON:

{
    "$class": "model.Koleksi",
    "koleksiId": "003",
    "nama": "Koleksi 9",
    "jumlah": 9,
    "kondisi": "BAIK",
    "kategori": "Geografika",
    "status": "citrus-fruit-food-fruit-oranges-207085.jpg",
    "keterangan": "Sakti jow",
    "tanggalbentuk": "2020-03-12T12:05:58.113Z",
    "owner": "resource:model.Organisasi#K001",
    "issuer": "resource:model.Organisasi#O001"
 }

ошибка:

{"error":{"statusCode":422,"name":"ValidationError","message":"The `Koleksi` instance is not valid. Details: `koleksiId` can't be blank (value: undefined); `nama` can't be blank (value: undefined); `jumlah` can't be blank (value: undefined); `kondisi` can't be blank (value: undefined); `kategori` can't be blank (value: undefined); `status` can't be blank (value: undefined); `keterangan` can't be blank (value: undefined); `tanggalbentuk` can't be blank (value: undefined); `owner` can't be blank (value: undefined); `issuer` can't be blank (value: undefined).","details":{"context":"Koleksi","codes":{"koleksiId":["presence"],"nama":["presence"],"jumlah":["presence"],"kondisi":["presence"],"kategori":["presence"],"status":["presence"],"keterangan":["presence"],"tanggalbentuk":["presence"],"owner":["presence"],"issuer":["presence"]},"messages":{"koleksiId":["can't be blank"],"nama":["can't be blank"],"jumlah":["can't be blank"],"kondisi":["can't be blank"],"kategori":["can't be blank"],"status":["can't be blank"],"keterangan":["can't be blank"],"tanggalbentuk":["can't be blank"],"owner":["can't be blank"],"issuer":["can't be blank"]}},"stack":"ValidationError: The `Koleksi` instance is not valid. Details: `koleksiId` can't be blank (value: undefined); `nama` can't be blank (value: undefined); `jumlah` can't be blank (value: undefined); `kondisi` can't be blank (value: undefined); `kategori` can't be blank (value: undefined); `status` can't be blank (value: undefined); `keterangan` can't be blank (value: undefined); `tanggalbentuk` can't be blank (value: undefined); `owner` can't be blank (value: undefined); `issuer` can't be blank (value: undefined).\n    at /home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/dao.js:400:12\n    at Koleksi.<anonymous> (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/validations.js:578:11)\n    at Koleksi.next (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/hooks.js:93:12)\n    at Koleksi.<anonymous> (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/validations.js:575:23)\n    at Koleksi.trigger (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/hooks.js:83:12)\n    at Koleksi.Validatable.isValid (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/validations.js:541:8)\n    at /home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/dao.js:396:9\n    at doNotify (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:155:49)\n    at doNotify (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:155:49)\n    at doNotify (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:155:49)\n    at doNotify (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:155:49)\n    at Function.ObserverMixin._notifyBaseObservers (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:178:5)\n    at Function.ObserverMixin.notifyObserversOf (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:153:8)\n    at Function.ObserverMixin._notifyBaseObservers (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:176:15)\n    at Function.ObserverMixin.notifyObserversOf (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:153:8)\n    at Function.ObserverMixin._notifyBaseObservers (/home/sachi/.nvm/versions/node/v8.17.0/lib/node_modules/composer-rest-server/node_modules/loopback-datasource-juggler/lib/observer.js:176:15)"}}

Ответы [ 2 ]

0 голосов
/ 16 марта 2020

Скорее всего, вы не отправляете правильный заголовок Content-Type со значением application/json, поэтому сервер не может "понять" ваш запрос.

Попробуйте добавить Диспетчер заголовков HTTP в качестве дочернего элемента сэмплера HTTP-запроса, который отправляет вышеуказанный JSON, и настройте его для отправки вышеупомянутого заголовка, например:

enter image description here


В целом, если запрос работает в Почтальоне, вы сможете записать его, используя JMeter HTTP (S) Test Script Recorder , просто настроить Postman для использования JMeter в качестве прокси и выполнить ваш запрос в Postman - JMeter перехватит запрос со всеми необходимыми заголовками и вы сможете его воспроизвести.

0 голосов
/ 14 марта 2020

Я думаю, что ваш JSON здесь неправильный, имя ключа должно быть "class" вместо "$class". Не могли бы вы перепроверить.

Это правильное JSON может быть:

{
    "class": "model.Koleksi",
    "koleksiId": "003",
    "nama": "Koleksi 9",
    "jumlah": 9,
    "kondisi": "BAIK",
    "kategori": "Geografika",
    "status": "citrus-fruit-food-fruit-oranges-207085.jpg",
    "keterangan": "Sakti jow",
    "tanggalbentuk": "2020-03-12T12:05:58.113Z",
    "owner": "resource:model.Organisasi#K001",
    "issuer": "resource:model.Organisasi#O001"
 }

Это ошибка неверного запроса. Ошибка 'instance cannot be null' фактически отображается для проверки тела запроса (точная пара ключ-значение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...