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

向邮递员提出跨来源要求-401

吴炎彬
2023-03-14

目前正在开发Spring boot后端API服务。这个API需要两个值,一个用于路径变量,另一个用于请求体。使用POSTMAN应用程序进行请求。

当我点击发送按钮时,它将如下所示

{
    "timestamp": "2020-07-31T05:57:15.178+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "No message available",
    "path": "/Service/api/ea/saveConfig/$%7Bhost%7D"
}

控制器类

@CrossOrigin(origins = "http://localhost:8000")
@RestController
@RequestMapping("/api/ea")
public class ServiceConfigController
{
    @PostMapping(value = "/saveConfig/{host}", produces = "application/json")
        public ResponseEntity<JsonNode> saveConfig(@PathVariable String host,
                @RequestBody JsonNode data) throws JsonProcessingException
        {
            try
            {
                ResponseEntity<JsonNode> result = configService.saveConfiguration(host, data);

                return result;
            }

            catch (Exception e)
            {           
                return new ResponseEntity<>(data, HttpStatus.INTERNAL_SERVER_ERROR);
            }
    }
}

如果我们向邮递员提出请求,十字架的来源是什么。我尝试了一些事情,但没有帮助。

请提出一个有效的解决办法。

共有1个答案

司徒鸿文
2023-03-14

邮递员路径变量应该是{{host}}而不是${host}。请分享您的pom XML。最好的猜测是您可以使用spring security来保护API。请从pom中删除依赖项,然后重试。

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

如果Spring Security性是必须的,您可以尝试向邮递员添加Auth并重试。用户名是用户,密码在控制台中生成和打印。例如,

2020-07-31 15:19:01.727  INFO 3296 --- [           main] .s.s.UserDetailsServiceAutoConfiguration : 
Using generated security password: ae4b7465-ab44-416d-96e3-8d122f755e04
2020-07-31 15:19:01.811  INFO 3296 --- [           main]
 类似资料:
  • 我正在编写一个具有交叉源配置的API 我的websecurity配置有 控制器类 身份验证过滤器检查 匹配。匹配总是变假 我是不是漏掉了什么? 我添加了什么额外的参数吗? 期待着迅速的回应。

  • 我正在做一个关于林达的烧瓶课程,但遇到了一个例子的问题。https://www.lynda.com/Flask-tutorials/Web-API-Development-Flask/521200-2.html 我做一个简单的职位,它的工作时,从一个基本的网络表单,但从邮递员失败。我想这是因为邮递员对请求的编码不同,但不知道为什么会这样,或者为什么烧瓶不能读取它。 查理斯截获的请求: 返回: 从简

  • 如果是的话,有谁能向我解释如何做到这一点?

  • 有人能帮助我如何使用以下参数发送POST请求吗: 我试着在《邮递员的身体》中发送一个带有以下参数的: 然而,在发送上述请求时,我得到的位置字符串为null。

  • 我正试着在邮递员上打API。API正在服务器上工作,但我没有收到任何数据。以下是视觉图像: 它是回应我与“没有数据”和400错误的要求。

  • 不管用。就像文件没有正确地附加到HTTP请求一样。 编辑:我终于明白了问题是POSTMAN可以访问我的文件系统,但我试图运行导出代码段的远程服务器没有--这是我的一个非常愚蠢的错误。