首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rest请求的“错误解析HTTP请求头”

rest请求的“错误解析HTTP请求头”
EN

Stack Overflow用户
提问于 2022-04-17 22:31:20
回答 1查看 1.2K关注 0票数 0

我使用MongoDb的java Spring应用程序,我想添加通过REST使用它的能力

当我试图发出rest请求(通过邮递员)时,我会得到一个404错误,尽管应用程序中有这样的地址。

控制台中出现以下一组错误(很抱歉有很多日志,我没有缩短它们,以免意外删除一个重要的细节):

代码语言:javascript
运行
复制
DEBUG 10844 --- [nio-8081-exec-1] o.a.coyote.http11.Http11InputBuffer      : Received [GET /api/v1/genres HTTP/1.1
User-Agent: PostmanRuntime/7.29.0
Accept: */*
Postman-Token: f20c843c-e9c8-48ab-88f2-4e5a42860d02
Host: localhost:8081
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

]
DEBUG 10844 --- [nio-8081-exec-2] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header

java.io.EOFException: null
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1339) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1226) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:805) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:360) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:271) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

DEBUG 10844 --- [nio-8081-exec-2] o.apache.coyote.http11.Http11Processor   : Error state [CLOSE_CONNECTION_NOW] reported while processing request

java.io.EOFException: null
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1339) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1226) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:805) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:360) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:271) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.60.jar:9.0.60]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

DEBUG 10844 --- [nio-8081-exec-2] o.apache.coyote.http11.Http11Processor   : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@74b75509:org.apache.tomcat.util.net.NioChannel@591b6c8b:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8081 remote=/[0:0:0:0:0:0:0:1]:63260]], Status in: [OPEN_READ], State out: [CLOSED]
DEBUG 10844 --- [nio-8081-exec-2] o.apache.tomcat.util.threads.LimitLatch  : Counting down[http-nio-8081-exec-2] latch=2
DEBUG 10844 --- [nio-8081-exec-2] org.apache.tomcat.util.net.NioEndpoint   : Calling [org.apache.tomcat.util.net.NioEndpoint@56c8cd71].closeSocket([org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@74b75509:org.apache.tomcat.util.net.NioChannel@591b6c8b:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8081 remote=/[0:0:0:0:0:0:0:1]:63260]])
DEBUG 10844 --- [nio-8081-exec-1] org.apache.tomcat.util.http.Parameters   : Set query string encoding to UTF-8
DEBUG 10844 --- [nio-8081-exec-1] o.a.c.authenticator.AuthenticatorBase    : Security checking request GET /api/v1/genres
DEBUG 10844 --- [nio-8081-exec-1] org.apache.catalina.realm.RealmBase      :   No applicable constraints defined
DEBUG 10844 --- [nio-8081-exec-1] o.a.c.a.jaspic.AuthConfigFactoryImpl     : Loading persistent provider registrations from [/private/var/folders/0s/7r3fm8v552g9sks3hhm0dd640000gn/T/tomcat.8081.12303308613067863794/conf/jaspic-providers.xml]
DEBUG 10844 --- [nio-8081-exec-1] o.a.c.authenticator.AuthenticatorBase    : Not subject to any constraint
DEBUG 10844 --- [nio-8081-exec-1] org.apache.tomcat.util.http.Parameters   : Set encoding to UTF-8
TRACE 10844 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : GET "/api/v1/genres", parameters={}, headers={masked} in DispatcherServlet 'dispatcherServlet'
TRACE 10844 --- [nio-8081-exec-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped to HandlerExecutionChain with [ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]]] and 4 interceptors
DEBUG 10844 --- [nio-8081-exec-1] o.s.w.s.r.ResourceHttpRequestHandler     : Resource not found
TRACE 10844 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : No view rendering, null ModelAndView returned.
DEBUG 10844 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed 404 NOT_FOUND, headers={masked}
DEBUG 10844 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost]           : Processing ErrorPage[errorCode=0, location=/error]
TRACE 10844 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : "ERROR" dispatch for GET "/error", parameters={}, headers={masked} in DispatcherServlet 'dispatcherServlet'
TRACE 10844 --- [nio-8081-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : 2 matching mappings: [{ [/error]}, { [/error], produces [text/html]}]
TRACE 10844 --- [nio-8081-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
TRACE 10844 --- [nio-8081-exec-1] o.s.web.method.HandlerMethod             : Arguments: [org.apache.catalina.core.ApplicationHttpRequest@207a1f34]
DEBUG 10844 --- [nio-8081-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Using 'application/json', given [*/*] and supported [application/json, application/*+json, application/json, application/*+json]
TRACE 10844 --- [nio-8081-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Writing [{timestamp=Mon Apr 18 01:10:09 MSK 2022, status=404, error=Not Found, path=/api/v1/genres}]
TRACE 10844 --- [nio-8081-exec-1] s.w.s.m.m.a.RequestMappingHandlerAdapter : Applying default cacheSeconds=-1
TRACE 10844 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : No view rendering, null ModelAndView returned.
DEBUG 10844 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Exiting from "ERROR" dispatch, status 404, headers={masked}
DEBUG 10844 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    :  Disabling the response for further output
DEBUG 10844 --- [nio-8081-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [214]
DEBUG 10844 --- [nio-8081-exec-1] o.a.tomcat.util.net.SocketWrapperBase    : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@4b1fb2fc:org.apache.tomcat.util.net.NioChannel@38a3312f:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8081 remote=/[0:0:0:0:0:0:0:1]:63261]], Read from buffer: [0]
DEBUG 10844 --- [nio-8081-exec-1] org.apache.tomcat.util.net.NioEndpoint   : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@4b1fb2fc:org.apache.tomcat.util.net.NioChannel@38a3312f:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8081 remote=/[0:0:0:0:0:0:0:1]:63261]], Read direct from socket: [0]
DEBUG 10844 --- [nio-8081-exec-1] o.a.coyote.http11.Http11InputBuffer      : Received []
DEBUG 10844 --- [nio-8081-exec-1] o.apache.coyote.http11.Http11Processor   : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@4b1fb2fc:org.apache.tomcat.util.net.NioChannel@38a3312f:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8081 remote=/[0:0:0:0:0:0:0:1]:63261]], Status in: [OPEN_READ], State out: [OPEN]
DEBUG 10844 --- [nio-8081-exec-1] org.apache.tomcat.util.net.NioEndpoint   : Registered read interest for [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@4b1fb2fc:org.apache.tomcat.util.net.NioChannel@38a3312f:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8081 remote=/[0:0:0:0:0:0:0:1]:63261]]
DEBUG 10844 --- [alina-utility-2] org.apache.catalina.session.ManagerBase  : Start expire sessions StandardManager at 1650233417946 sessioncount 0
DEBUG 10844 --- [alina-utility-2] org.apache.catalina.session.ManagerBase  : End expire sessions StandardManager processingTime 1 expired sessions: 0
DEBUG 10844 --- [nio-8081-exec-3] o.apache.tomcat.util.threads.LimitLatch  : Counting down[http-nio-8081-exec-3] latch=1
DEBUG 10844 --- [nio-8081-exec-3] org.apache.tomcat.util.net.NioEndpoint   : Calling [org.apache.tomcat.util.net.NioEndpoint@56c8cd71].closeSocket([org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@4b1fb2fc:org.apache.tomcat.util.net.NioChannel@38a3312f:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8081 remote=/[0:0:0:0:0:0:0:1]:63261]])

我的RestController:

代码语言:javascript
运行
复制
@RestController
@RequestMapping("/api/v1")
@RequiredArgsConstructor
public class GenreController {
    private final GenreService genreService;

    @GetMapping("/genres/")
    public List<Genre> findAllGenres() {
        var genres = genreService.findAllGenres();
        return genres;
    }
}

我的build.gradle插件

代码语言:javascript
运行
复制
plugins {
    id 'org.springframework.boot' version '2.5.12'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

我的build.gradle依赖关系:

代码语言:javascript
运行
复制
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
    implementation 'org.springframework.boot:spring-boot-starter-web:2.6.6'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'

    implementation 'com.github.cloudyrock.mongock:mongock-spring-v5:4.1.14'
    implementation 'com.github.cloudyrock.mongock:mongodb-springdata-v3-driver:4.1.14'

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
EN

回答 1

Stack Overflow用户

发布于 2022-04-17 23:35:48

这个问题在我从文件application.yml中删除后得到了解决。

代码语言:javascript
运行
复制
spring:
    main:
        lazy-initialization: false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71905951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档