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

加载资源失败:服务器响应状态为404()。Swagger配置不起作用

薛望
2023-03-14

Swagger配置不起作用我在springboot中使用swagger,当我点击这个URL http://localhost:8080/swagger-ui . html时,我得到了错误404。我创建了单独的配置文件,但未能加载资源:服务器响应的状态为404()这里是所有文档的详细信息

UserCongig.kt

程序包com.main.swaggerdemo.config

import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import springfox.documentation.builders.PathSelectors
import springfox.documentation.builders.RequestHandlerSelectors
import springfox.documentation.spi.DocumentationType
import springfox.documentation.spring.web.plugins.Docket
import springfox.documentation.swagger2.annotations.EnableSwagger2


@Configuration
@EnableSwagger2
class UserConfig {
    @Bean
    fun postApi(): Docket {
        return Docket(DocumentationType.SWAGGER_2)
            .select()
            .paths(PathSelectors.ant("/api/*"))
            .apis(RequestHandlerSelectors.basePackage("com.main.swaggerdemo"))
            .build()

    }

}

UserController.kt

package com.main.swaggerdemo.controller

import com.main.swaggerdemo.entity.User
import com.main.swaggerdemo.model.req.ReqUser
import com.main.swaggerdemo.model.response.RespUser
import com.main.swaggerdemo.repo.UserRepo
import io.swagger.annotations.ApiOperation
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*

@RestController
class UserController {
    @Autowired
    private lateinit var userRepo: UserRepo

    @GetMapping("/signup")
    @ApiOperation(value = "create new user")
    fun signupUser(@ModelAttribute request: ReqUser): ResponseEntity<*> {
        val newUser = User(name = request.name, country = request.country,
            email = request.email, password = request.password)
        userRepo.save(newUser)
        val resUser = RespUser(newUser.id, newUser.name, newUser.country, newUser.email)
        return ResponseEntity(resUser, HttpStatus.OK)
    }

    @GetMapping("/findByEmail/{email}")
    @ApiOperation(value = "find the user")
    fun getUserByEmail(@PathVariable("email") email: String): ResponseEntity<*> {
        val curentUser = userRepo.findByEmail(email)
        if (curentUser != null) {
            val userData = userRepo.findByEmail(email)
            return ResponseEntity(userData, HttpStatus.OK)
        }
        return ResponseEntity("No data found", HttpStatus.NOT_FOUND)
    }
}

内置梯度.kts

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.springframework.boot") version "2.4.5"
    id("io.spring.dependency-management") version "1.0.11.RELEASE"
    kotlin("jvm") version "1.4.32"
    kotlin("plugin.spring") version "1.4.32"
    kotlin("plugin.jpa") version "1.4.32"
}

group = "com.main"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-jpa")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("io.springfox:springfox-swagger2:3.0.0")
    implementation("io.springfox:springfox-swagger-ui:3.0.0")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    runtimeOnly("mysql:mysql-connector-java")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "11"
    }
}

tasks.withType<Test> {
    useJUnitPlatform()
}

共有1个答案

童铭晨
2023-03-14

我用swagger为我的服务添加了以下更改。你可以尝试同样的方法。

@Configuration
@EnableSwagger2
class UserConfig {

@Bean
public Docket apiDocumentationV1() {
    return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .paths(PathSelectors.ant("/v1/**"))
            .build()
            .apiInfo(createMetaData())
            .useDefaultResponseMessages(false);
}

private ApiInfo createMetaData() {
    return new ApiInfoBuilder()
            .title("Test Service APIs")
            .description("API to maintain test service.")
            .version("1.0.0")
            .build();
}
}
 类似资料:
  • 我正在运行一个spring MVC应用程序,下面是我的项目结构。 在我的中,我尝试在header部分加载js。 但我在浏览器中发现了以下错误。 在我的spring文件中,我添加了 有人能指出我犯的错误吗?

  • 我正在学习Lynda关于Javascript和Ajax以及hungup的教程,主题是“使用同步XHR请求”。 html文件基本上是: javascript文件为: data.txt文件上有“Hello World”。 项目文件的路径为 当我打开wampserver上的localhost并执行inspect元素时,我得到了上面的错误:“未能加载资源:服务器响应状态为404(not found)” 不

  • 我在浏览器中收到错误消息“加载资源失败:服务器响应状态为404”,我正在使用Node/Express、Mongo数据库和Docker。没有Docker一切正常。 文件夹结构: 后端 服务器 服务器。js公司 src公司 索引。html server.js 指数html 包裹json{脚本} 文档文件 docker编写。yml公司 如果我在浏览器中输入“192.168.99.100:3000/gal

  • 我有一个带有ASP. NET Core Web API后端和Angulal-13前端的项目。 Web API有这样一个endpoint:https://localhost:5001/api/v1/admin/teachers 登录后,当我将生成的不记名令牌粘贴到POSTMAN时,它会给出这样的结果: 从Angular前端,我有这些代码。 角度 teacher.service: 教师组件: 我本以为

  • 服务器js公司 应用程序。js公司 注册处理程序代码 当我试图注册一个用户时,我遇到了错误400。加载资源失败:服务器响应状态为400(错误请求),我已附加我的注册表。js文件寄存器。js:26个职位https://warm-earth-96837.herokuapp.com/register400(错误请求)寄存器。onSubmitSignIn@寄存器。js:26 400错误请求错误是一个HTT

  • 我在我的服务器上部署反应应用程序,它在localhost上运行良好,但当我试图在我的服务器上使用它时,我得到了 加载资源失败:服务器响应状态为404(未找到)shayankh。me/graphql 我在服务器上的根位置是 /var/www/html/ '这是我的server.js 和索引。js 我不知道我的问题出在哪里。是否有可能是因为服务器的根位置,我的应用程序找不到GraphQL?我还在我的服