如何在Grails中将控制器设置为纯文本响应

如何在Grails中将控制器设置为纯文本响应,grails,groovy,grails-controller,Grails,Groovy,Grails Controller,我需要创建一个用于监控的API,并且为了满足这一需求,响应将是纯文本,而不是json或xml 我所做的是: 检查我的应用程序yaml是否包含文本: types: all: '*/*' atom: application/atom+xml css: text/css csv: text/csv excel: application/vnd.ms-excel xlsx: application/vnd.

我需要创建一个用于监控的API,并且为了满足这一需求,响应将是纯文本,而不是json或xml

我所做的是:

检查我的应用程序yaml是否包含文本:

 types:
        all: '*/*'
        atom: application/atom+xml
        css: text/css
        csv: text/csv
        excel: application/vnd.ms-excel
        xlsx: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
        form: application/x-www-form-urlencoded
        html:
          - text/html
          - application/xhtml+xml
        js: text/javascript
        json:
          - application/json
          - text/json
        multipartForm: multipart/form-data
        pdf: application/pdf
        rss: application/rss+xml
        text: text/plain
        hal:
          - application/hal+json
          - application/hal+xml
        xml:
          - text/xml
          - application/xml
添加到我的控制器:
静态响应格式=['all']
,也尝试了
静态响应格式=['text']

在我的方法中:

respond mystring, formats:['text']
但grails仍然试图将其转换为JSON并抛出HTTP406错误

如何配置控制器以使用纯文本

谢谢我知道怎么做了 我在解决问题的方法中使用了render而不是respond,仍然不确定为什么respond不可能

class MonitorApi4Controller {

   static responseFormats = ['text']
   static allowedMethods = [ monitorScrape: "GET"]

   MonitorService getMonitorService(){
       return ApplicationContextHolder.getBean('monitorService')
   }

   def monitorScrape(){
       def message = getMonitorService().serviceMethod()
       render message
   }
}