2

我有一个(相对简单的)Micronaut 服务,我正在寻求将参数传递给它。该服务的代码如下:

package com.factor3.app;


import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.*;

@Controller("/testserv")
public class TempTestService
{
   public TempTestService()
   {
   }

   @Get("/{?theData}")
   @Produces(MediaType.TEXT_PLAIN)
   public String performService(String theData)
   {
       return("Returning: "+theData));
   }

}

我在 application.yml 文件中将端口设置为 8090:

micronaut:
    application:
        name: TSBroker

#Uncomment to set server port
    server:
        port: 8090

没有其他控制器、bean 或过滤器。

我一直在运行此服务并尝试使用以下 URI 从浏览器访问它:

http://localhost:8090/testserv?theData=xxx

几分钟后,我在 Google Chrome 上遇到以下故障:

This page isn’t working
localhost didn’t send any data.
ERR_EMPTY_RESPONSE

我错过了什么吗?为什么这个页面不起作用?

在此先感谢您的任何见解...

4

1 回答 1

2

您的代码有一些内容甚至无法编译。如果您将类更改为如下所示,它将编译并响应http://localhost:8090/testserv?theData=xxx

package com.factor3.app;

import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.*;
import javax.annotation.Nullable;

@Controller("/testserv")
public class TempTestService
{
    // this empty constructor isn't necessary, but
    // also doesn't cause a problem...
   public TempTestService()
   {
   }

   @Get("/{?theData}")
   @Produces(MediaType.TEXT_PLAIN)
   public String performService(@Nullable String theData)
   {
       return "Returning: "+theData;
   }
}
于 2018-10-31T03:37:23.333 回答