小编Eli*_*sky的帖子

如何使用Spring MVC设计通用的响应构建器/ RESTful Web服务?

尝试使用Spring MVC构建RESTful Web服务.

控制器应返回特定的Java类型,但响应主体必须是通用信封.如何才能做到这一点?

以下代码部分是我到目前为止所拥有的:

控制器方法:

    @Controller
    @RequestMapping(value = "/mycontroller")
    public class MyController {

        public ServiceDetails getServiceDetails() {
             return new ServiceDetails("MyService");
        }
    }
Run Code Online (Sandbox Code Playgroud)

回复信封:

    public class Response<T> {

        private String message;
        private T responseBody;

    }
Run Code Online (Sandbox Code Playgroud)

ServiceDetails 码:

    public class ServiceDetails {

        private String serviceName;

        public ServiceDetails(String serviceName) {
            this.serviceName = serviceName;
        }
    }
Run Code Online (Sandbox Code Playgroud)

对客户的最终回应应显示为:

   {

     "message" : "Operation OK"
     "responseBody" : {
                        "serviceName" : "MyService"
                      }

   }  
Run Code Online (Sandbox Code Playgroud)

java rest spring-mvc

9
推荐指数
1
解决办法
1万
查看次数

读取格式错误的文件时 StreamDecoder 与 InputStreamReader

我在 Java 8 中读取文件时遇到了一些奇怪的行为,我想知道是否有人能理解它。

\n\n

设想:

\n\n

读取格式错误的文本文件。我所说的格式错误是指它包含不映射到任何 unicode 代码点的字节。

\n\n

我用来创建这样一个文件的代码如下:

\n\n
byte[] text = new byte[1];\nchar k = (char) -60;\ntext[0] = (byte) k;\nFileUtils.writeByteArrayToFile(new File("/tmp/malformed.log"), text);\n
Run Code Online (Sandbox Code Playgroud)\n\n

此代码生成一个仅包含一个字节的文件,该文件不是 ASCII 表(也不是扩展表)的一部分。

\n\n

尝试cat此文件会产生以下输出:

\n\n
\xef\xbf\xbd\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是UNICODE 替换字符。这是有道理的,因为 UTF-8 需要 2 个字节才能解码非 ascii 字符,但我们只有一个字节。这也是我对 Java 代码的期望。

\n\n

贴一些常用代码:

\n\n
private void read(Reader reader) throws IOException {\n\n    CharBuffer buffer = CharBuffer.allocate(8910);\n\n    buffer.flip();\n\n    // move existing data to the front of the buffer\n    buffer.compact();\n\n    // pull in as …
Run Code Online (Sandbox Code Playgroud)

java encoding nio malformed

5
推荐指数
1
解决办法
1670
查看次数

标签 统计

java ×2

encoding ×1

malformed ×1

nio ×1

rest ×1

spring-mvc ×1