Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringWeb服务删除响应字符串中的多个空格_Java_Spring Boot - Fatal编程技术网

Java SpringWeb服务删除响应字符串中的多个空格

Java SpringWeb服务删除响应字符串中的多个空格,java,spring-boot,Java,Spring Boot,作为一种爱好,我自己学习春天。 观察一个问题 这是我正在使用的演示rest控制器 @RestController class DemoHelloService { @GetMapping("/hello") public String hello(@RequestParam String name) { String Name = new String("Hello "+name); return Name;

作为一种爱好,我自己学习春天。 观察一个问题

这是我正在使用的演示rest控制器

@RestController

class DemoHelloService
{

    @GetMapping("/hello")
    public String hello(@RequestParam String name)
    {
        String Name = new String("Hello    "+name);        
        return Name;
    }
}
URL localhost:8080/hello?name=Test将响应观察为“hello Test”。 这里的问题是字符串名“我在Hello旁边有尾随空格”。但在服务部门的响应中没有看到这一点

需要对服务中的接收尾随空格进行哪些更改的任何帮助。

尝试以下操作:

String Name = new String("Hello    "+name); 
正如您在这里看到的:非破坏性规范不会在html中崩溃,而空间会崩溃


当然,在任何真正的api中,您都不希望返回html字符。最好在客户端返回名称(在您的示例中不适用)和格式。

您的问题不在服务器端。返回值很好。浏览器在将其显示为HTML时会对其进行格式化并剪切空格。要测试它,请创建一个带有字符串“Hello test”的文本文件,并将其另存为test.html文件,然后在浏览器中打开它。浏览器将显示为“Hello Test”。正如@Athanasios Kataras指出的,您需要将空格字符替换为“”。为了让您的生活更轻松,有一个名为MgntUtils(由我编写)的开源库,它提供了一个实用程序,可以将字符串转换为Html保留缩进。简单地说,它将“”替换为“”,将“\n”替换为“
”。因此,如果要使用该库,您的代码如下所示:

@GetMapping("/hello")
public String hello(@RequestParam String name)
{
    String Name = TextUtils.formatStringToPreserveIndentationForHtml("Hello    "+name);        
    return Name;
}

该库作为Maven工件提供,在Github上,Javadoc可用

“观察”如何在浏览器中查看响应。浏览器折叠额外的空间,因为这是HTML规范。使用任何不应该重新格式化文本的工具(网络选项卡、curl、Postman)。或者只需右键单击并选择“查看页面源代码”.谢谢Chrylis和JB。是的,你是对的。我在postman应用程序中看到所有空格的正确响应,也在HTML页面源代码中看到。