Java 如何在Spring Boot中进行多URL映射(别名)
具体的 我想在SpringBoot中进行多个URL映射(换句话说就是别名) 详细信息 在我的spring boot应用程序中 客户控制器类主要映射到Java 如何在Spring Boot中进行多URL映射(别名),java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,具体的 我想在SpringBoot中进行多个URL映射(换句话说就是别名) 详细信息 在我的spring boot应用程序中 客户控制器类主要映射到/CustomerURL,如下所示,我想创建易于更改的别名 @Controller @RequestMapping(value = "/customer") public class CustomerController{ 在我的普通spring应用程序中,我在XML中进行映射,我可以如下所示进行URL映射 <bean class="org.
/Customer
URL,如下所示,我想创建易于更改的别名
@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引导、属性文件配置在大多数情况下都很有用
@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!";
}
}
这样,URL看起来像:localhost:8080/Hello
和localhost:8080/Hello/otherMapping
编辑:
对于多个映射,您可以使用:
@RequestMapping({ "/home", "/contact" })
如果要将映射从prop文件中导出,则可以按如下操作 在application.properties中,添加键值对
url.mapping : /test/sample
在控制器上,您可以执行以下操作:
@Controller
@RequestMapping(value = { "${url.mapping}" })
public class CustomerController{
如果您将url.mapping
作为jvm arg
提供,而不是在prop文件中提供,那么如果您更改了值,则无需重新编译,只需重新启动(我希望您可以这样做,我自己没有尝试过)就可以完成这项任务
对于多个映射,您必须为每个映射添加一个映射,并在控制器中映射该映射,如下所示
@Controller
@RequestMapping(value = { "${url.mapping}","${url.mapping.two}" })
public class CustomerController{
谢谢你的回答。我更新了我的问题。我需要做多个URL映射,比如别名。我希望在不重新编译的情况下更改别名映射。@FarajFarook请参阅更新。我帮不了你的忙,谢谢你,叶甫盖尼。非常感谢你的帮助。我赞成你的答案。但是我会等待更多的评论,看看是否有任何不重新编译的方法:)新的注释也可以工作:
@GetMapping({/path1',“path2”})
谢谢。法拉法鲁克说:“这似乎是一种更干净的方法。”。接受帮助他人和我:)