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

404未找到使用Spring cloud starter安全性的Spring Boot应用程序

温峻熙
2023-03-14

我目前正在遵循Pluralsight关于Java微服务与Spring Cloud Security的教程。在我运行这个应用程序后,我从日志复制生成的安全密码,并在邮递员中调用http://localhost:9001/services/tolldata使用用户:用户和密码:生成的基本身份验证。但它作为响应404给出未找到。

我尝试从应用程序设置更改端口,结果相同。还尝试在属性中添加主机地址,结果相同。删除了服务器。servlet。上下文路径,相同的结果。将@RequestMapping(“/tolldata”)放在getTollData()方法上方,结果相同。

这是我的主课。

@SpringBootApplication
@RestController
public class DemoApplication {

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

@RequestMapping("/tolldata")
public class TollUsage{
    public String id;
    public String stationId;
    public String licensePlate;
    public String timestamp;

    public List<TollUsage> getTollData(){
        TollUsage instance1 = new TollUsage("100", "station150", "B65GT1W", "2016-09-30T06:31:22");
        TollUsage instance2 = new TollUsage("101", "station119", "AHY673B", "2016-09-30T06:32:50");
        TollUsage instance3 = new TollUsage("102", "station150", "ZN2GP0", "2016-09-30T06:37:01");

        List<TollUsage> tolls = new ArrayList<TollUsage>();
        tolls.add(instance1);
        tolls.add(instance2);
        tolls.add(instance3);

        return tolls;
    }

    public TollUsage(){}

    public TollUsage(String id, String stationId, String licensePlate, String timestamp){
        this.id = id;
        this.stationId = stationId;
        this.licensePlate = licensePlate;
        this.timestamp = timestamp;
    }
}

}

这是我的申请表。性质

server.port=9001
server.servlet.context-path=/services

最后是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 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>demo</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Greenwich.M3</spring-cloud.version>
</properties>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

共有2个答案

刘嘉木
2023-03-14

试试这个:

  @SpringBootApplication
    public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
    }
    @RequestMapping(value = "/tolldata")
@RestController
    class TollUsage{
        public String id;
        public String stationId;
        public String licensePlate;
        public String timestamp;

        @GetMapping
        @CrossOrigin
        @ResponseBody
        public ResponseEntity<List<TollUsage>> getTollData(){
            TollUsage instance1 = new TollUsage("100", "station150", "B65GT1W", "2016-09-30T06:31:22");
            TollUsage instance2 = new TollUsage("101", "station119", "AHY673B", "2016-09-30T06:32:50");
            TollUsage instance3 = new TollUsage("102", "station150", "ZN2GP0", "2016-09-30T06:37:01");

            List<TollUsage> tolls = new ArrayList<TollUsage>();
            tolls.add(instance1);
            tolls.add(instance2);
            tolls.add(instance3);

            return new ResponseEntity<>(tolls, HttpStatus.OK);;
        }

        public TollUsage(){}

        public TollUsage(String id, String stationId, String licensePlate, String timestamp){
            this.id = id;
            this.stationId = stationId;
            this.licensePlate = licensePlate;
            this.timestamp = timestamp;
        }
    }
李振国
2023-03-14

@RestController放在TollUsage类上,而不是DemoApplication并将这些类拆分为不同的文件。

 类似资料:
  • 这是一个启动应用程序。它运行完美,但没有得到输出(它显示我的HTTP状态404错误在浏览器) 波姆。xml 启动类Main方法 控制器在主类后加载 网址:http://localhost:8080/hello输出

  • 我尝试按照stackoverflow上的这个过程集成引导程序(我的rails版本是3.2.17,这是一个区别),所以没有gem,只是将引导文件包含在相关的项目目录中。 然后创建了一个HTML页面,并将其放在project public目录中。 这是代码: 但是,当我加载页面并检查它(它加载)时,我可以看到GETs产生以下错误:

  • 我使用springboot和maryadb数据库进行训练。当我测试数据恢复时,我在邮递员中收到这样一条消息: 。我在复制粘贴中尝试了几个教程,我总是有相同的消息。我也会把控制台中的消息。提前谢谢你的帮助。 控制器 服务 回应的 模型 应用属性 安慰

  • 你好,我试图学习野蝇和springboose一个非常简单的应用程序使用eclipse。项目名称是springboo-test。包括主方法类在内的所有类都在同一个包中。 主方法类称为'App',其代码如下: 以下是服务器日志: 11:36:57281信息[org.wildfly.extension.undertow](服务器服务线程池--68)WFLYUT0021:注册的web上下文:'/sprin

  • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

  • 我们有使用AngularJS的Grails 2.4应用程序。我们一直在使用Grails 2.4中的资产管道插件来处理位于Grails应用程序的资产子目录中的angularjs文件(*. js、*. html角度模板、*. css)。我将此应用程序转换为Grails 3.3.1。它还使用资产管道插件,版本2.14.2。“com.bertramlabs.plugins:asset-tuline-gra