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

Spring rest api-带点的Get方法问题

柳昊焱
2023-03-14
    @GetMapping(path = "test/{id:.+}")
    @ResponseBody
    public String getTest(@PathVariable String id) {       

        return id;
    }
{
  "timestamp": 1623837131322,
  "status": 500,
  "error": "Internal Server Error",
  "exception": "java.lang.NoClassDefFoundError",
  "message": "Could not initialize class org.springframework.web.accept.PathExtensionContentNegotiationStrategy$ActivationMediaTypeFactory",
  "path": "/api/v1/test/core.somethign"
}

java.lang.NoClassDefFoundError: Could not initialize class org.springframework.web.accept.PathExtensionContentNegotiationStrategy$ActivationMediaTypeFactory ...

还尝试使用以下功能扩展WebMvcConfigurationSupport

    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        configurer.setUseSuffixPatternMatch(false);
    }

我使用的是Spring Boot版本1.5.22。你知道什么是错误的吗?好像我的配置被忽略了

package eu.test;

import org.springframework.context.annotation.*;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

@Configuration
@ComponentScan
@PropertySource(
        ignoreResourceNotFound = false,
        value = "classpath:application.properties")
public class ApplicationConfiguration extends WebMvcConfigurationSupport {
    @Override
    protected void configurePathMatch(PathMatchConfigurer configurer) {
        configurer.setUseSuffixPatternMatch(false);
    }
}


共有1个答案

微生弘
2023-03-14

在appconfig文件中添加bean。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

@Configuration
public class MvcConfig extends WebMvcConfigurationSupport{

    @Bean
    public RequestMappingHandlerMapping requestMappingHandlerMapping() {
        RequestMappingHandlerMapping handlerMapping = super.requestMappingHandlerMapping();
        handlerMapping.setUseSuffixPatternMatch(false);
        handlerMapping.setUseTrailingSlashMatch(false);
        return handlerMapping;
    }
}

更新:不推荐使用此类。现在您必须使用下面的代码。我测试过了,我在这里发布。

@Configuration
public class ApplicationConfig extends WebMvcConfigurationSupport {
    @Override
    protected void configurePathMatch(PathMatchConfigurer configurer) {
        configurer.setUseSuffixPatternMatch(false);
    }
}

输出:

 类似资料:
  • 查询单条数据使用Get方法,在调用Get方法时需要传入一个对应结构体的指针,同时结构体中的非空field自动成为查询的条件和前面的方法条件组合在一起查询。 如: 1) 根据Id来获得单条数据: user := new(User) has, err := engine.Id(id).Get(user) // 复合主键的获取方法 // has, errr := engine.Id(xorm.PK

  • 我试图用这个键得到一个值。我正在使用get()方法。我的密钥是由int和String组成的对象。所以我提出反对 我收到了空的。当我查看去bug模式或打印密钥集时,我收到类似的消息 虽然我的钥匙应该是 为什么键看起来像这样而不是以及如何使用键获取值? 我在键中覆盖了字符串methid。它看起来更好,但我仍然有空值,我相信有一些价值。

  • 问题内容: 我需要 在类中使用@X注释的方法或使用@X注释的方法的切入点 。我还 需要注释对象 。如果同时注释了类和方法,则 我更喜欢将方法注释作为参数 。 我尝试了以下操作,这将创建“不一致的绑定”警告。(为什么不将它们设置为null?) 下面创建“跨’||’的参数x的模糊绑定 在切入点”警告。(我认为这并不一定有意义:为什么不绑定第一个短路评估?) 如果存在类和方法注释,则将先前的尝试自然地分

  • 用户: 2)编写UserGroup类 UserGroup类必须有用户的ArrayList。 和我的UserGroup类: 这显然远远没有完成,但我完全被困住了。我的第一个问题是我不确定如何为此编写get方法。请帮帮我!!我认为我的User类很好,但我的UserGroup类远没有完成所有的目标,我不知道如何实现它们!!

  • 主要内容:HTTP 请求:GET vs POST,jQuery $.get() 方法,实例,demo_test.php 文件代码:,jQuery $.post() 方法,实例,demo_test_post.php 文件代码:jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。 HTTP 请求:GET vs POST 两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。 GET - 从指定的资源请求数据 POST -

  • 我有一个RESTful Webservice,我想在骆驼路上用它来丰富内容。参见类似的代码: 如果我运行这个,我会得到以下错误: < code >没有类型转换器可用于从type: de.my.Class转换为所需的type: java.io.InputStream,值为de.my.Class@620ee765。 在我看来,他试图将 Exchange 的主体发送到 http-Endpoint,尽管我