Java 在SpringBoot中返回动态txt(无html)

Java 在SpringBoot中返回动态txt(无html),java,spring,spring-boot,Java,Spring,Spring Boot,我有一个应用程序,它接收一个文件作为输入,只返回一个字母作为输出(比如a、B、C——这是一个机器学习分类器,这些都是类) 我有一个使用SpringBoot的基本应用程序设置,但除了作为完整HTML模板的一部分之外,我不知道如何返回值 这是可行的,但这不是我想要的: mytemplate.html: <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/layout ::

我有一个应用程序,它接收一个文件作为输入,只返回一个字母作为输出(比如a、B、C——这是一个机器学习分类器,这些都是类)

我有一个使用SpringBoot的基本应用程序设置,但除了作为完整HTML模板的一部分之外,我不知道如何返回值

这是可行的,但这不是我想要的:

mytemplate.html:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/layout :: layout (~{::body},'hello')}">
<body>
<div class="container">
    <p th:text="${my_output}"/>
</div>
</body>
</html>

MyMainClass.java:

@RequestMapping("/my_test")
String my_test(Map<String, Object> model) {
    String result;
    ...processing...
    model.put("my_output", result);
    return "mytemplate";
}
@RequestMapping(“/my_test”)
字符串my_测试(映射模型){
字符串结果;
…处理。。。
model.put(“我的输出”,结果);
返回“mytemplate”;
}

我想要的只是返回一个字母,但当我将mytemplate.html重命名为mytemplate.txt并让它仅由
${my_output}
组成时,它只是将其作为文本字符串返回,而不是替换任何内容。基本上,我需要一种方法,要么让模板引擎允许我生成这样的原始文本文件,要么我需要以某种方式绕过模板引擎。我还不知道Spring Boot是如何工作的,也不知道模板引擎,所以我不知道怎么做。

试试这种方法

@RequestMapping("/my_test")
public String my_test(HttpServletResponse response) {
  String result;
  ...processing...
  response.setContentType("text/plain");
  response.setCharacterEncoding("UTF-8");
  return result ;
}

不幸的是,这不起作用——在SpringBoot中,返回值似乎被解释为模板的名称。因此,
result
的值是字符串“A”,然后我得到错误
错误解析模板“A”,该模板可能不存在,或者任何配置的模板解析程序都可能无法访问该模板,因为它正在查找名为该模板的实际模板。我的类上的注释是
@Controller
。当我将其更改为
@RestController
时,您提供的代码现在在技术上可以工作了(我正在取回这封信,其他什么都没有)。也就是说,它每次仍然会抛出一个异常,
org.thymeleaf.exceptions.TemplateInputException:解析模板“A”时出错
。所以它仍然在寻找模板。我能够让它工作。谢谢你最初的帮助。我用一些额外的细节编辑了你的答案,并接受了它。