发送RESTful请求时确切发送的内容。如何将METHOD和BODY中的信息发送到URL?

时间:2019-01-09 23:13:47

标签: rest

试图了解有关RestFul调用的更多信息。我了解格式,但是我想知道的是呼叫的实际发送方式。例如,如果要在客户端上设置Fiddler,并且要使用Method = POST和Body = Login HTTP / 1.1来对http:/thisplace.com/rws进行RestFul调用 主机:client.mydomain.com 接受:application / xml 内容类型:application / xml

我看到从提琴手的客户端发出的确切信息是什么?信息是否编码在URL内?

想知道是否可以在没有诸如PostMan之类的第三方工具的情况下发送RestFul呼叫。

1 个答案:

答案 0 :(得分:1)

RestFul服务使用标准的HTTP方法(GET,POST,PUT,DELETE等)。 HTTP POST请求中的参数在请求主体中发送,该请求主体显示在标头之后。信息/参数未在POST请求的URL中编码。

参数发送的格式取决于请求的Content-Type。

在您的示例中,您指定content-type: application/xml,这意味着您需要在请求正文中提供xml。在提琴手中,到http://thisplace.com/rws的HTTP POST可能看起来像这样(对于application/xml):

POST http://thisplace.com/rws HTTP/1.1
Content-Type: application/xml
Accept: application/xml
Host: thisplace.com
content-length: 64

<myData>
    <value>hello</value>
    <value2>world</value2>
</myData>

请求正文位于标题下方,并且位于您看到xml的空白行之后。

如果您指定了application/json,则参数将被编码为json,并且请求正文可能如下所示:

{ 
    "value1": "hello", 
    "value2": "world" 
}

对于内容类型application/x-www-form-urlencoded,参数的格式应与查询字符串的格式相同,并且请求正文可能类似于:

value1=hello&value2=world

是的,可以在没有邮递员的情况下进行RestFul调用,但是您尚未指定使用的语言/技术或发送请求的方式。