gpt4 book ai didi

spring - 在 Spring Boot 中启用 HTTP 请求 POST

转载 作者:行者123 更新时间:2023-12-03 03:10:47 25 4
gpt4 key购买 nike

我使用的是Spring boot,这里是maven依赖

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

对于网页,我将文件放置在 src/main/resources/static 中。那里有我的 html 文件、js 库(Angular、jquery)和 css 文件。

我正在尝试使用 Angular 发出 HTTP 请求 POST(我也有一个工作正常的 GET 请求),但我明白了

POST http://localhost:8080/xxxx/12/addEntry 405 (Method Not Allowed) 

在响应 header 中

HTTP/1.1 405 Method Not Allowed
Server: Apache-Coyote/1.1
X-Application-Context: application
Allow: HEAD, GET
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 09 Jul 2014 13:04:05 GMT

我意识到在响应中允许没有 POST 方法。

Controller 中的方法

@RequestMapping(value = "/xxxx/{uid}/addEntry", method = RequestMethod.POST)
@ResponseBody
public String createEntry(@PathVariable String uid, @RequestBody String form) {
System.out.println(form);
return "index.html";
}

最佳答案

有时,特别是在初始测试期间,Spring 的 csrf - 跨站点请求伪造 - 默认情况下会启动保护并阻止 POST 请求发生,临时解决方法是禁用< em>csrf。这通常在扩展 WebSecurityConfigurerAdapter 的 Web Security Config 类中完成

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable();
}
}

注意:这在 Spring boot 版本 2.0.0.RC1 上有效,如果用作永久解决方法,那就最好了

关于spring - 在 Spring Boot 中启用 HTTP 请求 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24655203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com