为了账号安全,请及时绑定邮箱和手机立即绑定

添加自定义 @Controller 到 Maven 覆盖?

添加自定义 @Controller 到 Maven 覆盖?

喵喔喔 2023-05-17 14:32:32
我正在研究mitreid-connect/OpenID-Connect-Java-Spring-Server的实现,它建议您使用 Maven Overlay 扩展和自定义项目。我已按照说明进行操作,然后将以下代码添加到webapp-overlay/src/main/java/controller/HealthcheckController.javapackage controller;import org.springframework.context.annotation.Primary;import org.springframework.http.MediaType;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controller@Primarypublic class HealthcheckController {    @RequestMapping(value = "/healthcheckwebapp", method = RequestMethod.GET, produces = MediaType.TEXT_PLAIN_VALUE)    public String getHealthCheck() {        return "200 OK";    }}但是,我在实际尝试到达路线时收到 404。难道我做错了什么?
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

在这种情况下你只需要将 @Controller 更改为 @RestController 在这种情况下你不需要响应主体,就像这样。


import org.springframework.context.annotation.Primary;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;


@RestController

@Primary

public class Rest {


    @RequestMapping("/healthcheckwebapp")

    public String getHealthCheck() {

        return "200 OK";

    }

}


查看完整回答
反对 回复 2023-05-17
?
慕仙森

TA贡献1827条经验 获得超7个赞

在您的覆盖服务器-config.xml 上添加此 bean


<context:component-scan base-package="controller">

    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller.HealthcheckController " />

</context:component-scan>

并添加@ResponseBody注释getHealthCheck()


查看完整回答
反对 回复 2023-05-17
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

它发送一个 404,因为它正在寻找一个名为“200 ok”的模板,如果您想给出答案,请使用 @ResponseStatus(HttpStatus.OK) 并使用 return 重定向到另一个地方,如 return“/index”;为了避免 404 错误

我希望这会有所帮助因为我没有完全理解你的问题


查看完整回答
反对 回复 2023-05-17
  • 3 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信