Scala LiftWebREST服务器POST请求
我正在尝试创建一个LiftWebREST服务器,它接受小型内部测试的Scala LiftWebREST服务器POST请求,scala,rest,lift,Scala,Rest,Lift,我正在尝试创建一个LiftWebREST服务器,它接受小型内部测试的POST请求,并通过SpringFramework的RestTemplate#postForObject(“http://localhost:9090/api/validate/,请求,字符串。类)。我通过了 我的RestController.scala是 13 object RestController extends RestHelper { 14 val data = LiftRules.loadResourceA
POST
请求,并通过SpringFramework的RestTemplate#postForObject(“http://localhost:9090/api/validate/,请求,字符串。类)代码>。我通过了
我的RestController.scala是
13 object RestController extends RestHelper {
14 val data = LiftRules.loadResourceAsXml("/ValidationReply.xml");
21 serve {
22 case "api" :: "validate" :: _ XmlPost xml -> _ => <system>
26 <id>TEST</id>
27 <name>PILOT</name>
28 <version>1</version>
29 <ip_address>192.168.2.18</ip_address>
30 <connector>
31 <id>UPD</id>
32 </connector>
33 </system>
124 case JsonGet("api" :: "validate" :: _, _) => JString("Validated")
125 }
126 }
当restUrl=”时http://localhost:9090/api/validate“
,我将调用第二个api,并回复“已验证”
。如何在liftweb中发出POST
请求?您正在寻找一个POST
即XML。作为
它通过一个定义TestPost提取器的特性传递。
请求是否为POST,在POST正文中包含JSON或XML数据,以及
响应中需要JSON或XML的内容
我不确定你是在提出请求,还是在发送数据。但是,假设您只是发出post请求,我会尝试在正文中发布XML。否则,您可以尝试使用Post
而不是XmlPost
重写规则,如:
case Post("api" :: "validate" :: Nil, req) =>
<system>
<id>TEST</id>
<name>PILOT</name>
<version>1</version>
<ip_address>192.168.2.18</ip_address>
<connector>
<id>UPD</id>
</connector>
</system>
case Post(“api”::“验证”::Nil,req)=>
试验
领航员
1.
192.168.2.18
UPD
您的帖子url似乎应该是:http://localhost:9090/api/validate.xml
。注意.xmlNo,找不到相同的URL/api/validate.xml
错误。在上面的api中,我需要在不使用xml
的情况下请求,但URL在使用或不使用xml
时都不起作用。甚至连case“api”:“validate”:\uPOST xml->\u=>
这对您有用吗:case Post(“api”:“validate”::Nil,req)=>
?是的,它可以在请求中使用或不使用xml
数据。\,/请修改你的答案,我会接受的。
case Post("api" :: "validate" :: Nil, req) =>
<system>
<id>TEST</id>
<name>PILOT</name>
<version>1</version>
<ip_address>192.168.2.18</ip_address>
<connector>
<id>UPD</id>
</connector>
</system>