java - 类中的构造函数不能应用于 Spring Boot Controller 的给定类型

标签 java spring gradle controller spring-boot

我正在开发一个项目,该项目需要一些用户输入并从该输入返回一个图形文件。我使用的是 Spring Boot 框架,因此我有一个带有主类的 Application.java 和一个带有 @RequestParam 的 GraphController 用于用户输入。

创建图的类 OntologyGraph 中有这样的内容:

public class OntologyGraph {

    // Set argument variables
    private String graphTitle;
    private String prefix;
    private String graphType;
    private String inputFile;

    public String graphmlString;  

    // create graphml
    public OntologyGraph(String graphTitle, String prefix, String type, 
        String inputFile) throws Exception {

        // Set content to given content
        this.graphTitle = graphTitle;
        this.prefix = prefix;
        this.type = type;
        this.inputFile = inputFile;

        // code to process input is here

        return graphmlString;
}


然后我有 GraphController.java 来获取并输入参数:

@RestController
public class GraphController {

    @RequestMapping("/graph")
    public OntologyGraph graph(@RequestParam(value="graphTitle", defaultValue="Title") String graphTitle,
        @RequestParam(value="prefix", defaultValue="Prefix") String prefix,
        @RequestParam(value="type", defaultValue="class") String type,
        @RequestParam(value="inputFile", defaultValue="/Users/Tauber/Documents/onto-graph/src/test/Core.ttl") String inputFile) {

        return new OntologyGraph(graphTitle, prefix, type, inputFile);
    }
}


所以它接受这四个参数。但是,当我尝试运行它时(它是 gradle 构建,所以我使用 gradle bootRun),它返回此错误...

    error: constructor OntologyGraph in class OntologyGraph cannot be applied to given types;
        return new OntologyGraph(graphTitle, prefix, type, inputFile);
               ^
  required: String
  found: String,String,String,String
  reason: actual and formal argument lists differ in length


所以看起来,出于某种原因,它只接受一个参数?

最佳答案

您的构造函数中似乎存在错误:

public OntologyGraph(String graphTitle, String prefix, String type, 
    String inputFile) throws Exception {


    return graphmlString;
}

您正尝试在构造函数中返回一个字符串,这在 Java 中是不可能的。我猜这会导致编译错误。

关于java - 类中的构造函数不能应用于 Spring Boot Controller 的给定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35675727/

相关文章:

java - 将一串 1's and 0' 写入二进制文件?

java - 用于使用带有属性的 XML 提要的最好和/或最快学习的 Java API

java - 从 LinkedList 中删除元素

java - Apache Tiles 的更好替代品

错误: "You must set the property ' aspectjVersion' before applying the aspectj plugin"when using kotlin DSL

java - 安卓 flavor : Multiple java and src directories for each flavor

java - 如何通过 ScriptEngine 访问仅静态方法的类?

Spring Boot JUnit 和 @TestPropertySource 使用多个属性文件

spring - Spring @ManagerResource : persistPolicy, persistPeriod、persistLocation 和 currencyTimeLimit 的含义

java - Spring @ComponentScan 未检测到 REST Controller