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

如何在Spring Boot中进行多URL映射(别名)

周正真
2023-03-14

具体地

我想在SpringBoot中进行多个URL映射(换句话说就是别名)

详细地

在我的spring boot应用程序中,Customer Controller类主要映射到/CustomerURL,如下所示,我希望创建易于更改的别名

@Controller
@RequestMapping(value = "/customer")
public class CustomerController{

在我的普通spring应用程序中,我在XML中进行映射,我可以如下所示进行URL映射。

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
   <property name="mappings">
    <props>
       <prop key="/customer.htm">customerController</prop>
       <prop key="/tester.htm">customerController</prop>
     </props>
   </property>
</bean>

<bean id="customerController" 
    class="com. ... .controller.CustomerController" />

由于autoconfig在屋顶下工作,所以Spring Boot、属性文件配置在大多数情况下都很有用。

  1. 是否有任何方法可以使用属性文件执行相同的操作

我累了很多找到这个。但最后却落得在SO社区的帮助下。请帮帮我。

共有2个答案

贲文景
2023-03-14

看看这个例子。

映射url的最佳方法是在带有注释的控制器中进行映射。

基本上:

@RestController
public class HelloController {

    @RequestMapping("/")
    public String index() {
        return "Greetings from Spring Boot!";
    }

}

恕我直言,最佳实践是对控制器使用一个映射,对每个方法使用一个映射:

    @RestController
    @RequestMapping("/Hello")
    public class HelloController {

        @RequestMapping("/")
        public String index() {
            return "Greetings from Spring Boot!";
        }

        @RequestMapping("/otherMapping")
        public String otherMapping() {
            return "Greetings from Spring Boot!";
        }
    }

这样网址看起来会像:localhost:8080/Hellolocalhost:8080/Hello/otherMapping

编辑:

对于多个映射,您可以使用:

@RequestMapping({ "/home", "/contact" })
黄啸
2023-03-14

如果要将映射从prop文件中导出,则可以按如下操作

在你的申请中。属性,添加键值对

url.mapping : /test/sample

在控制器上,您可以执行以下操作:

@Controller
@RequestMapping(value = { "${url.mapping}" })
public class CustomerController{

而不是在prop文件中提供,如果您提供url.mapping作为jvm arg,那么如果您更改值,您不必重新编译,只需重新启动(我希望您可以这样做,没有尝试过它自己)应该能做到。

对于多个映射,您必须为每个映射添加一个映射,并在控制器中映射该映射,如下所示。

@Controller
@RequestMapping(value = { "${url.mapping}","${url.mapping.two}" })
public class CustomerController{
 类似资料:
  • 问题内容: 具体而言 我想在春季启动时执行多个URL映射(换句话说就是别名) 详细地 在我的春季启动应用程序中, Customer Controller 类主要已映射到如下所示的URL,我想创建易于更改的别名 在正常的Spring应用程序中,我以XML进行映射,因此可以按以下方式进行URL映射。 春季启动时,属性文件配置在大多数情况下都很有用,因为autoconfig在屋顶下工作。 有什么办法可以

  • 我已经为这些列表创建了模型类,这些列表是我收到的对我的服务的响应 清单1 清单2 列表3是最后的列表,上面两个列表映射的结果,即我的服务的响应 清单3 这些列表与用户名和用户标签相连。我已将列表1的所有值映射到列表3。现在对于列表2,我需要检查每个userLabel是否在list3中存在一个userName等于userLabel的对象,如果为true,则totalUsers的值设置为list3的那

  • 我正在尝试在web.xml中映射多个servlet。在我的index.html中,我有一个操作“desktype.do”的表单,当我运行程序时,它成功了。我是这样开始的: …效果很好。它成功地编译,并且在按下我在index.html中设置的按钮后,它就会按照需要运行。在添加了额外的servlet映射之后: 我收到错误“模块尚未部署。详细信息请参阅服务器日志。构建失败(总时间;0秒)”我不确定该怎么

  • 当我重命名应用程序packagename并尝试启动springboot时,我得到一条错误消息。错误消息如下:

  • 问题内容: 我在一个网站中使用,其中我从中索引了数据。 这很好。但目前,我必须在字段中搜索的完全匹配项。目前,如果我搜索其条目,也会给出的结果。我找到了此链接,并且看到了需要在数据上添加的elasticsearch文档。我的问题是如何在当前情况下在数据上添加映射?还是有更好的方法呢? 问题答案: 删除现有索引 删除现有的河流配置索引 创建映射到索引 完成这些步骤后,将river插件配置同步mong

  • 我在React中有一个表,它的行没有html元素,所以我可以用通常的方式进行映射。它的数据通过道具。下面是一个例子: 我想做一些像