如果我在定义竞赛类型时出错了,请纠正我:
Content-Type: application/json; charset=utf-8
{"my_id":"975","my_a_id":"Test66","param":"4","amount":"66"}
和
Content-Type: application/x-www-form-urlencoded
my_id=123&my_a_id=Test66¶m=4&amount=66
可能还有哪些其他内容类型?
哪种内容类型支持RESTLet
NetSuite
服务?
我有POST到网络服务:
POST https://some.netsuite.uri?deploy=1 HTTP/1.1
Authorization: NLAuth nlauth_account=3624292_SB3, nlauth_email=xduh31@gmail.com, nlauth_signature=Pass987654, nlauth_role=3
Accept: application/json
Content-Type: application/json; charset=utf-8
Host: rest.eu1.netsuite.com
Cookie: JSESSIONID=**************************************; lastUser=1234567_SB9_1282_3; NS_ROUTING_VERSION=LAGGING; NS_VER=2017.1.0
Content-Length: 69
Expect: 100-continue
{"my_id":"975","my_a_id":"Test66","param":"4","amount":"66"}
在网址中我有x-www-form-urlencoded
- ?deploy=1
https://some.netsuite.uri?deploy=1
且数据为json
样式:
{"my_id":"975","my_a_id":"Test66","param":"4","amount":"66"}
UPD
我得到了答案,我想应该返回JSON
数据:
HTTP/1.1 200 OK
Date: Sat, 03 Jun 2017 06:21:46 GMT
Server: Apache
Cache-Control: No-Cache
Pragma: No-Cache
Content-Length: 41
Expires: 0
Edge-Control: no-store
X-N-OperationId: 486c2d20-099d-446b-9788-4816db59a1fd
Set-Cookie: .......................; path=/
NS_RTIMER_COMPOSITE: 1688996695:706172746E6572733030312E70726F642E6475622E6E65746C65646765722E636F6D:80
P3P: CP="CAO PSAa OUR BUS PUR"
Vary: User-Agent
Content-Type: application/json; charset=utf-8
org.mozilla.javascript.Undefined@54b896b0
但这个答案看起来不像JSON?
答案 0 :(得分:0)
一个问题可能是您的网址。你有没有尝试过改变
https://some.netsuite.uri&deploy=1
到
https://some.netsuite.uri?deploy=1
修改强>
此外,您的Accept标头表示您正在寻找应用程序/ json响应,是服务器返回的内容吗?
答案 1 :(得分:0)
您可以在NS帮助中心找到支持的内容类型:
RESTlets支持输入和输入的JSON和纯文本内容类型 输出。对于每个RESTlet,输出内容类型与输入相同 内容类型。
您必须在HTTP Content-Type标头中设置内容类型。您可以 使用以下值指定输入/输出内容类型 RESTlet:
应用/ JSON
文本/纯
如果您指定的内容类型不是JSON或文本,则会出现415错误 返回时显示以下消息:
内容类型无效。您只能使用application / json或text / plain 使用RESTlets。
除了shazmodan提到的url中的问题之外,缺少脚本Id。以下是有效的重定位网址的示例:
iteminfo.get(iteminfo.size() - 1)
您可以在网址中传递其他参数:
https://rest.netsuite.com/app/site/hosting/restlet.nl?deploy=1&script=1
或在请求正文中,如果您使用的是https://rest.netsuite.com/app/site/hosting/restlet.nl?deploy=1&script=1&my_id=123&my_a_id=Test66¶m=4&amount=66
和POST
方法,但它必须是有效的JSON。但内容类型必须始终为PUT
或application/json
。