Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java Spark microservice框架中创建请求和响应对象?_Java_Request_Spark Java - Fatal编程技术网

如何在Java Spark microservice框架中创建请求和响应对象?

如何在Java Spark microservice框架中创建请求和响应对象?,java,request,spark-java,Java,Request,Spark Java,我目前面临的一个场景是,我必须手动创建spark.Request和spark.Response对象的实例。有人能帮我吗?我正在为测试目的创建请求和响应对象 我的实现如下所示 package spark; public class RequestStub extends Request { // Implement the methods needed // I fake my return values } 这对测试很有效 如果这不是您所需要的,那么请分享更多详细信息,也许还

我目前面临的一个场景是,我必须手动创建
spark.Request
spark.Response
对象的实例。有人能帮我吗?

我正在为测试目的创建请求和响应对象

我的实现如下所示

package spark;

public class RequestStub extends Request {
    // Implement the methods needed
    // I fake my return values
}
这对测试很有效


如果这不是您所需要的,那么请分享更多详细信息,也许还有一个代码示例来描述您的问题。

在派生类中,您可以重写body()body(String text)、status()、status(int stat)等您需要的所有方法。像这样的请求主体说

class RequestStub extends Request
{
    private String _body;

    RequestStub(String body)
    {
        _body = body;
    }

    public String body()
    {
        return _body;
    }
}
所以你可以这样做

Request rq  = new RequestStub(readFile("./src/test/resources/nested-test.txt"));
Response rp = new ResponseStub();

String result = (String)Controller.Post.handle(rq,rp);

非常感谢您的回复。我想要的不是进行REST调用,而是使用请求和响应对象进行常规过程调用,比如:
newcontrollerclass().restServiceMethod(“”),
我的意思是如何在存根的帮助下更新Request.body。我没有做过类似的事情。我不确定你是否容易做到这一点。首先,我会查看Sparkjava的源代码,看看是否可以找到可以使用的seam。感谢您的回复Thomas,我会尝试看看是否有其他替代方案……如果您找到了什么,请更新我。谢谢:)