Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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 “如何解决错误代码”;405“;关于API调用与测试?_Java_Maven_Api_Testing_Rest Assured - Fatal编程技术网

Java “如何解决错误代码”;405“;关于API调用与测试?

Java “如何解决错误代码”;405“;关于API调用与测试?,java,maven,api,testing,rest-assured,Java,Maven,Api,Testing,Rest Assured,在IntelliJ的运行模式下测试API调用时,我收到错误代码“405”。然而,当我测试API cal时;在邮递员中使用相同的参数,它可以工作 我正在编写一个自动存储塔,用户必须登录才能使用它。登录表单工作正常,当我尝试使用Postman登录时,它也会成功登录。然而,当我在IntelliJ上运行代码时,它会给我错误代码“405”,这意味着“不允许使用方法” 我的userController类代码,它可以工作: @PostMapping(value = "/login", consumes = M

在IntelliJ的运行模式下测试API调用时,我收到错误代码“405”。然而,当我测试API cal时;在邮递员中使用相同的参数,它可以工作

我正在编写一个自动存储塔,用户必须登录才能使用它。登录表单工作正常,当我尝试使用Postman登录时,它也会成功登录。然而,当我在IntelliJ上运行代码时,它会给我错误代码“405”,这意味着“不允许使用方法”

我的userController类代码,它可以工作:

@PostMapping(value = "/login", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public String login(@RequestBody MultiValueMap<String, String> body){
    String email = body.getFirst("email");
    String username = body.getFirst("username");
    String password = body.getFirst("password");

    return userService.loginUser(email, username, password);
}
最后是我测试POST登录方法的代码:

//User control
@Test
public void checkLogin(){

    given()
            .param("email", "123")
            .param("username", "123")
            .param("password", "123")
            .when()
            .get("/login")
            .then()
            .statusCode(200);
}
希望有人能帮我解决这个问题


提前谢谢

405
表示不允许使用该方法。发生这种情况的原因是,您正在公开一个
POST
操作(
@PostMapping(value=“/login”,consumes=MediaType.APPLICATION\u FORM\u URLENCODED\u value)
,但试图通过
GET
.when().GET(“/login”)

//User control
@Test
public void checkLogin(){

    given()
            .param("email", "123")
            .param("username", "123")
            .param("password", "123")
            .when()
            .get("/login")
            .then()
            .statusCode(200);
}