Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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中的vs代码在本地运行azure函数_Java_Azure_Maven_Visual Studio Code_Azure Functions - Fatal编程技术网

无法从java中的vs代码在本地运行azure函数

无法从java中的vs代码在本地运行azure函数,java,azure,maven,visual-studio-code,azure-functions,Java,Azure,Maven,Visual Studio Code,Azure Functions,我在用VS代码调用java开发的azure函数时遇到了这个问题。除了run命令外,一切都很顺利。当我运行命令“mvn azure functions:run”时,它会正确启动。但是我没能从邮递员那里找到它。这是我的密码 public class Function { @FunctionName("hello") public HttpResponseMessage hello(@HttpTrigger(name = "req", methods = {"get", "post"}

我在用VS代码调用java开发的azure函数时遇到了这个问题。除了run命令外,一切都很顺利。当我运行命令“mvn azure functions:run”时,它会正确启动。但是我没能从邮递员那里找到它。这是我的密码

public class Function {
    @FunctionName("hello")
    public HttpResponseMessage hello(@HttpTrigger(name = "req", methods = {"get", "post"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage req,
                       final ExecutionContext context) {
        context.getLogger().info("Java HTTP triger processed a request.");

        String query = req.getQueryParameters().get("name").toString();

        return req.createResponse(200, "hELLO "+query);
    }
}

更新:

感谢Satya Panigrahy的分享,解决方案是运行mvn generate生成azure函数。顺便说一下,azure函数工具没有java语言的模板。有关更多信息,请查看此文档:

原始答案:

请查看此官方模板:

我认为
HttpRequestMessage
没有名为
createResponse
的方法。如果您想实现,请尝试以下代码,在我这方面效果很好:

package com.function;

import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;


public class Function {
    @FunctionName("hello")
    public HttpResponseMessage run(
            @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> req,
            final ExecutionContext context) {
        context.getLogger().info("Java HTTP trigger processed a request.");

        String query = req.getQueryParameters().get("name").toString();
        return req.createResponseBuilder(HttpStatus.OK).body("hELLO " + query).build();
    }
}
package.com.function;
导入java.util.*;
导入com.microsoft.azure.functions.annotation.*;
导入com.microsoft.azure.functions.*;
公共类函数{
@函数名(“你好”)
公共HttpResponseMessage运行(
@HttpTrigger(name=“req”,methods={HttpMethod.GET,HttpMethod.POST},authLevel=AuthorizationLevel.ANONYMOUS)HttpRequestMessage req,
最终执行(上下文){
context.getLogger().info(“JavaHTTP触发器处理了一个请求。”);
字符串查询=req.getQueryParameters().get(“name”).toString();
返回req.createResponseBuilder(HttpStatus.OK).body(“hELLO”+query.build();
}
}


请尝试一下,如果您遇到一些问题,请告诉我。

更新:

感谢Satya Panigrahy的分享,解决方案是运行mvn generate生成azure函数。顺便说一下,azure函数工具没有java语言的模板。有关更多信息,请查看此文档:

原始答案:

请查看此官方模板:

我认为
HttpRequestMessage
没有名为
createResponse
的方法。如果您想实现,请尝试以下代码,在我这方面效果很好:

package com.function;

import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;


public class Function {
    @FunctionName("hello")
    public HttpResponseMessage run(
            @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> req,
            final ExecutionContext context) {
        context.getLogger().info("Java HTTP trigger processed a request.");

        String query = req.getQueryParameters().get("name").toString();
        return req.createResponseBuilder(HttpStatus.OK).body("hELLO " + query).build();
    }
}
package.com.function;
导入java.util.*;
导入com.microsoft.azure.functions.annotation.*;
导入com.microsoft.azure.functions.*;
公共类函数{
@函数名(“你好”)
公共HttpResponseMessage运行(
@HttpTrigger(name=“req”,methods={HttpMethod.GET,HttpMethod.POST},authLevel=AuthorizationLevel.ANONYMOUS)HttpRequestMessage req,
最终执行(上下文){
context.getLogger().info(“JavaHTTP触发器处理了一个请求。”);
字符串查询=req.getQueryParameters().get(“name”).toString();
返回req.createResponseBuilder(HttpStatus.OK).body(“hELLO”+query.build();
}
}


请尝试一下,如果您遇到一些问题,请告诉我。

请尝试一下我答案中的代码。请看一下官方模板:嗨,有更新吗?你现在能算出来吗?请试一下我答案中的代码。请看一下官方模板:嗨,有更新吗?你现在能解决这个问题吗?我删除了所有内容,并使用maven命令“mvn generate”创建了一个azure函数,令人惊讶的是,它居然成功了。java的创建方式与您在这里提到的类似。但当我使用VS Code命令创建时,它产生了问题。我必须深入挖掘。我会让你知道为什么一个工作而另一个不工作。@SatyaPanigrahy任何更新请让我知道。我会更新我的答案。@SatyaPanigrahy事实上,即使使用vs代码创建azure函数,也需要运行mvn生成,因为azure函数工具没有java模板,所以我们需要使用mvn生成模板。确切地说,我们已经运行了maven生成模板。现在我知道azure函数工具没有java模板。我会记下来以备将来使用。非常感谢。@SatyaPanigrahy嗨,Satya。我在回答中更新了您的解决方案,可以吗?这将帮助其他遇到类似问题的人。:)我删除了所有内容,并使用maven命令“mvn generate”创建了一个azure函数,令人惊讶的是,这起作用了。java的创建方式与您在这里提到的类似。但当我使用VS Code命令创建时,它产生了问题。我必须深入挖掘。我会让你知道为什么一个工作而另一个不工作。@SatyaPanigrahy任何更新请让我知道。我会更新我的答案。@SatyaPanigrahy事实上,即使使用vs代码创建azure函数,也需要运行mvn生成,因为azure函数工具没有java模板,所以我们需要使用mvn生成模板。确切地说,我们已经运行了maven生成模板。现在我知道azure函数工具没有java模板。我会记下来以备将来使用。非常感谢。@SatyaPanigrahy嗨,Satya。我在回答中更新了您的解决方案,可以吗?这将帮助其他遇到类似问题的人。:)