Java 我的邮递员发帖请求应该是什么样的?(职位要求正文)

Java 我的邮递员发帖请求应该是什么样的?(职位要求正文),java,api,post,postman,Java,Api,Post,Postman,我尝试过各种不同的机构来满足这个请求,但似乎没有任何效果。它给出错误400或500内部服务器错误。 我想将字符串类型的文本和一些列表或数组形式的关键字从Html页面传递到java代码,以查看该文本字符串中有多少关键字。 你能帮帮我吗 我相信在方法级别只能有一个带注释的参数@RequestBody。我建议将文本和关键字作为JSON文档发送到HTTP请求的requestbody中。例如,可能看起来像这样: { “文本”:“简单文本”, “关键词”:[“简单”、“文本”] } 编写一个包含这两个值的简

我尝试过各种不同的机构来满足这个请求,但似乎没有任何效果。它给出错误400或500内部服务器错误。 我想将字符串类型的文本和一些列表或数组形式的关键字从Html页面传递到java代码,以查看该文本字符串中有多少关键字。 你能帮帮我吗


我相信在方法级别只能有一个带注释的参数
@RequestBody
。我建议将文本和关键字作为JSON文档发送到HTTP请求的requestbody中。例如,可能看起来像这样:

{
“文本”:“简单文本”,
“关键词”:[“简单”、“文本”]
}

编写一个包含这两个值的简单Java类,例如

@PostMapping(path="/check/keywords")
    @RequestMapping(value = "/check/keywords", method = RequestMethod.POST)
    public int totalKeywords(@RequestBody String text,@RequestBody String[] keywords) throws Exception{
        System.out.println(text);
        System.out.println(keywords.length);
        return EssayGrader.totalKeywods(text);
    }
将您的方法更改为:

class Data {
   String text;
   String[] keywords;

   //don't forget getter + setter + noargs constructor
}
当您发送邮递员发帖请求时,将
内容类型
标题设置为
应用程序/json
!并确保在类路径上有Jackson库,可以“自动”将JSON结构映射到Java类/对象(如果使用Spring Boot,则导入此依赖项时应该已经有了这种情况:

@PostMapping(path="/check/keywords", consumes="application/json", produces="application/json")
public int totalKeywords(@RequestBody Data data) {
    String text = data.getText();
    String[] keywords = data.getKeywords();
    // do whatever...
    return ...
}

org.springframework.boot
SpringBootStarterWeb

希望这有帮助。祝你好运!

嘿,这帮了大忙,但我有一个问题。是否可以传递列表而不是数组?如果可以,如何传递?只需将类型从字符串数组更改为字符串列表,例如从
String[]keywords
更改为
java.util.list keywords
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>