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

调用Spring Boot API时出现404错误

左丘嘉言
2023-03-14

我编写了一些请求映射,并使用JPA将Spring Boot应用程序连接到Postgresql DB。但是,当我尝试调用API时,我会得到以下消息:{“timestamp”:“2021-01-30t21:58:34.028+00:00”,“status”:404,“error”:“not found”,“message”:“”,“path”:“/API/v1/sessions”}。我试着在调用API时打印一条消息,它可以工作,所以我想这可能与JPA连接有关?(我还使用SQL Shell测试了数据库和凭据是否良好,它们都是可以的)

我的模型:

@Entity(name = "sessions")
public class Session {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long session_id;

    private String session_name;
    private String session_description;
    private Integer session_length;

    @ManyToMany
    @JoinTable(
            name = "session_speakers",
            joinColumns = @JoinColumn(name = "session_id"),
            inverseJoinColumns = @JoinColumn(name = "speaker_id"))
    private List<Speaker> speakers;

我的控制器:

@Controller
@RequestMapping("/api/v1/sessions")
public class SessionsController {

    @Autowired
    private SessionRepository sessionRepository;

    @GetMapping
    public List<Session> list() {
        System.out.println("Get method called");
        return sessionRepository.findAll();
    }

    @GetMapping
    @RequestMapping("{id}")
    public Session get(@PathVariable Long id) {
        return sessionRepository.getOne(id);
    }
public interface SessionRepository extends JpaRepository<Session, Long> {
}

最后,我的应用程序属性:

spring.datasource.url=jdbc:postgresql://localhost:5432/databaseName
spring.datasource.username=postgres
spring.datasource.password=mypasswordhere
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.show-sql=true

共有1个答案

苍嘉澍
2023-03-14
    @GetMapping(value = "/{id}")<---remove Request mapping and also add the slash here
    public Session get(@PathVariable Long id) {
        return sessionRepository.getOne(id);
    }
 类似资料:
  • 我正在尝试一个简单的Rest服务,使用apache camel和get作为超文本传输协议动词。 我正在《邮递员》中尝试这一点:<代码>http://localhost:8080/demo/camel/say/hello由于应用程序中的上下文路径,添加了“demo”。属性文件,注意在添加以下内容之前,此文件为空: “camel”是因为CamelServlet默认设置为“/camel” 请查找以下我的

  • 我在使用Spring工具套件运行项目时遇到以下错误, 但如果我的问题是,我已经向pom添加了适当的依赖项。XML文件。那么问题出在哪里呢? 我的文件依赖关系如下, 我的控制器应用程序ontroller.java如下, 我的vives在中,您可以查看下面的树视图, 我已经更改了应用程序。属性文件。但是,我仍然不明白出了什么问题。 我的应用程序。属性文件如下, 我只是在My中打印hello,

  • 我正在尝试运行一个Spring Boot应用程序。我从教程中下载了一段代码,这样我就知道这段代码可以工作。当我运行我的jar文件时,它看起来就像我在8080端口上运行的应用程序,但我仍然得到404对于任何URL来说,我从来没有得到spring白色标签页面。我检查了8080端口上没有任何其他东西在运行,并且服务器已经启动并运行。 我不知道为什么我的申请没有反应。 } http://maven.apa

  • 问题内容: 我试图使用ajax调用来调用servlet,如下所示: 但是,它开始运行并显示警报: 未成功:未找到 这是怎么引起的,我该如何解决? 问题答案: 当您指定相对URL(不是以scheme或开头的URL )时,它将相对于当前请求URL(在浏览器地址栏中看到的URL)。 您告诉您的servlet在以下位置可用: http:// localhost:8080 / FullcalendarPro

  • 几天以来,我在运行Struts网络应用程序时遇到了一些问题。我尝试了StackOverflow中与我的问题相关的几个解决方案,但都不起作用。 网状物xml: struts。xml: 登录。jsp: 登录。爪哇: 我补充说: commons-logging-1.1.3。罐子 freemarker-2.3.19。罐子 ognl-3.0.6。罐子 struts2-core-2.3.15.1。罐子 xwo

  • 我正在写一个查询谷歌日历事件的Lambda函数。虽然我成功地在Google Developers控制台上创建了凭据(客户机ID和客户机机密),但我无法访问这些事件。错误: {“error”:{“error”:[{“domain”:“usagelimits”,“reason”:“keyinvalid”,“message”:“bad request”}],“code”:400,“message”:“b