我用RESTAPI创建了一个非常基本的Spring Boot项目。我尝试将它连接到我的Angular应用程序,但它出现了一些CORS安全错误,所以我切换到了Postman。我试图用邮递员测试它,但我一直收到一个404未找到邮递员错误。为什么我不能连接到我的后端并发布到测试仪功能?
控制器
package controllers;
@RestController
public class Handler {
@PostMapping("/tester/{id}")
public String tester(@PathVariable(value="id")long userid ){
System.out.println("in tester");
System.out.println(userid);
return "succeeded test";
}
}
主要的
package halloween.contest;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class,
SecurityAutoConfiguration.class})
public class ContestApplication {
public static void main(String[] args) {
SpringApplication.run(ContestApplication.class, args);
}
}
应用程序.属性
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration
spring.data.rest.base-path=/
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>halloween</groupId>
<artifactId>contest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>contest</name>
<description>halloween picture contest</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
安慰
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.5.6)
2021-10-26 15:44:12.823 INFO 18760 --- [ main] halloween.contest.ContestApplication : Starting ContestApplication using Java 1.8.0_144 on DESKTOP-VB80TS0 with PID 18760 (C:\Users\Sergio Rodríguez\Documents\Halloween\contest\target\classes started by Sergio Rodríguez in C:\Users\Sergio Rodríguez\Documents\Halloween\contest)
2021-10-26 15:44:12.827 INFO 18760 --- [ main] halloween.contest.ContestApplication : No active profile set, falling back to default profiles: default
2021-10-26 15:44:16.013 INFO 18760 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2021-10-26 15:44:16.043 INFO 18760 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2021-10-26 15:44:16.043 INFO 18760 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.54]
2021-10-26 15:44:16.310 INFO 18760 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2021-10-26 15:44:16.310 INFO 18760 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3372 ms
2021-10-26 15:44:19.326 INFO 18760 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2021-10-26 15:44:19.342 INFO 18760 --- [ main] halloween.contest.ContestApplication : Started ContestApplication in 7.201 seconds (JVM running for 7.946)
2021-10-26 15:45:45.138 INFO 18760 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-10-26 15:45:45.139 INFO 18760 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2021-10-26 15:45:45.157 INFO 18760 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 17 ms
等效的 cURL 命令
curl --location --request POST 'localhost:8080/tester/69'
邮递员
有类似的问题吗..然后在< code>main()所在的< code > spring boot appification 上添加了下面的注释,这对我来说很好。
@EnableWebMvc
@ComponentScan("com.*.*")
另外在邮递员做以下更改...
要修复 CORS 问题,请在 @PostMapping(“/tester/{id}”)
旁边添加 @CrossOrigin(origins = “http://localhost:
在目标URL中,确保已包含默认的Spring Boot端口8080,例如
http://localhost:8080/tester/123
显然,请仔细检查您所做的是POST
,而不是GET
。
现在我想明白了,回答我自己的问题。根据我提供的代码,这并不明显,但我会离开我的职位以寻求未来的帮助(措辞帮助)。
问题是包的可见性。我将控制器类放在了与主类不同的包中。
问题内容: 我正在尝试打开一个保存在源文件夹本身中的CSV文件名“ logger.csv”。 但是,这一直在给我一个“找不到文件”错误。 问题答案: 如果您现在就使用相对路径,则该文件需要存在于项目根目录中, 而不是 存在于java文件的目录中。 考虑以下层次结构: 不管用。 将 现在 的工作。(注意,该文件与src目录相邻。)
问题内容: 我在asp.net项目的Content文件夹中有一个json文件: …以及访问它的代码: …但是调用代码时什么也没发生;浏览器控制台说:“无法加载资源:服务器响应状态为404(未找到)” 为什么找不到?“波浪号文件名”不是通往文件的正确路径吗? 更新 我还尝试了向后“重击”: …并且得到相同的结果(“ 无法加载资源:服务器以404(未找到)状态进行响应 ”) 更新2 然后,我尝试了这种
我有一个 xUnit.net 测试,如下所示: VS 2012的xUnit插件表示: 未找到要运行的测试。 TestDriven.net运行良好,但提到了一些关于特设: 1通过,0失败,0跳过(请参阅“任务列表”),这花费了0.47秒(临时) TeamCity、和和Visual Studio也找不到 (我已经安装了,VS看到了一些测试。) 什么原因?
我有一些测试使用内置的,但无法让它们运行。 我使用视觉工作室2012最终。 我有两个项目的解决方案;一个是使用微软的测试。VisualStudio。测试工具。单元测试,在类前,在测试方法前,并参考Microsoft。VisualStudio。质量工具。UnitTestFramework(版本10.0.0.0,运行时版本v2.0.50727)。我曾尝试过dot net framework 3.5、4
问题内容: 这个问题已经在这里有了答案 : 如何在Eclipse Web项目中安装JDBC驱动程序而不面对java.lang.ClassNotFoundexception (13个答案) 3年前关闭。 我正在开发一个Web应用程序,使用:Eclipse IDE(Marse),Java 8,Apache tomcat 8,MySQL。我的用户注册代码如下: 我的代码也是正确的,并且我在Eclipse
尝试将我的java应用程序从Eclipse导出到可运行的jar文件中。(这是一个控制台应用程序) 这是Eclipse中项目目录的外观: 以下是项目的运行配置: 这就是jar创建选项的外观: 最后,这是我得到的错误: 我真的试过了所有的东西,但我很困惑为什么它不运行。主类选择正确,运行配置似乎正确,我尝试了runnable和regular,两者都不起作用。 我尝试过清理、重建,甚至重新制作这个项目,