当前位置: 首页 > 知识库问答 >
问题:

请求错误(invalid_request)spring rest api

宗政才俊
2023-03-14
package wsJson;

import java.util.concurrent.atomic.AtomicLong;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api")
public class RestCon {

    private AtomicLong id;

    public Bean b;
    @RequestMapping("/bean")
    public Bean getBeans(@RequestParam(value="name")String name){
        return new Bean(id.incrementAndGet(), name);

    }

}

它给了

请求错误(invalid_request)

无法处理您的请求。无法处理请求这可能是由配置错误或格式错误的请求造成的。

谁能帮助我理解问题和如何解决它?这段代码正常工作,但在我的办公室我坐在代理网络后面,这段代码就这样失败了!有没有人知道为什么会这样!

package wsJson;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);

    }

}

bean类:

package wsJson;


public class Bean {

    public long id;
    public String name;

    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Bean(long id, String name) {
        super();
        this.id = id;
        this.name = name;
    }

}

使用spring-boot 1.5.6制作的应用程序-发行版

共有1个答案

董桐
2023-03-14

这与您的spring-boot应用程序无关。如果您的应用程序日志中有异常,请让我们了解堆栈跟踪。在您的代码段中,id没有初始化,因此代码无法工作:下面是我测试的代码示例:

@SpringBootApplication
@RestController
@RequestMapping("/api")
public class TestApplication {

    private AtomicLong id = new AtomicLong();

    @RequestMapping("/bean")
    public String getBeans(@RequestParam(value="name")String name){
        return new Bean(id.incrementAndGet(), name).toString();
    }

    class Bean{
        public Bean(long l, String name) {
        }
    }
    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

在不使用代理的情况下在本地测试应用程序,这样您就可以确保应用程序能够正常工作。

你发布了你的应用程序启动日志,看起来你的控制器不是mapper。也许你的控制器没有被应用程序扫描。controller必须位于包含由@SpringBootApplication注释的类的包的子包中,这样组件扫描程序才能看到它。

 类似资料:
  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!

  • 我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常:

  • 目前从Angular JS controller中,我试图将JSON数据发送到后端服务。但是我有400个错误的请求错误。 在Controller中,我试图通过http服务发送数据,如下所示:

  • 我得到了这个错误,有什么想法会导致它吗?我试图发送一个DTO,它有一个扩展抽象类的对象列表,我想这个问题可能是因为DTO中的列表,还是因为抽象类的子类?

  • 我正在为一个项目使用Hackerrank API。查看官方文档,点击这里! 在他们的网站上有一个使用UNIREST的例子, 由于我使用的是axios,所以我将其转换为类似的axios代码,如下所示: 我希望这只适用于示例中所示的示例,但它给我带来了以下错误: 请求失败,状态代码为400 错误:请求失败,状态代码为400 在createError(createError.js:16) 在sett(s

  • 我正在尝试从访问代码中获取访问令牌。但存在 400 错误请求错误的错误 我正在使用此链接获取访问代码 https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 响应此链接,我正在获取查询字符串中的代码,返回 URL 代码=Mh12d04c8