作为servicemix / karaf的新手,我试图创建一个接受并返回REST请求的非常简单的程序。我上课的是:
package (....)
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import (...).model.RSDocument;
import (...).model.RSDocumentResponse;
@RestController
public class DocumentService {
@RequestMapping(value = "/rest/document", method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody ResponseEntity<RSDocumentResponse> printDocument(
@RequestBody RSDocument documentRequest)
{
System.out.println(documentRequest.getContent());
RSDocumentResponse response = new RSDocumentResponse();
response.setSuccess(true);
return new ResponseEntity<>(response, HttpStatus.OK);
}
}
我在Tomcat中有类似的工作。在Tomcat中,您可以通过在eclipse中双击服务器并在&#34; Ports&#34;中设置值来指定它将侦听传入请求的端口。部分。如何在Servicemix中设置端口,甚至找出它当前正在侦听的端口?我从Servicemix中的命令行成功启动了捆绑包。我的应用程序似乎没有监听80(Apache),8080(无)或8181(Servicemix控制台)
答案 0 :(得分:1)
首先确保部署了Web容器。为此,请确保已安装war功能。
feature:list | grep war
如果未安装,请通过发出以下命令安装:
feature:install war
现在,请确保您的jar / war包含 Web-ContextPath Manifest条目,告诉Web容器要查找的上下文路径。如果您已安装并运行所有其他必需的软件包,包括所有依赖项,则应该能够导航到您的休息服务:
localhost:8181/myContextPath/rest/document