小编cas*_*lin的帖子

java中的Servlet - getWriter()和getOutputStream()

为什么说对一个实例ServletResponsegetWriter()getOutputStream()不能叫什么名字?

java servlets

9
推荐指数
3
解决办法
8553
查看次数

如何在Java中将POJO转换为Map,反之亦然?

我的用例是将任意POJO转换为Map并从Map转换回POJO.所以我最终使用策略POJO - > json - > org.bson.Document并返回org.bson.Document - > json - > POJO.

我正在使用gson将POJO转换为json,

Gson gson = new GsonBuilder().create();
String json = gson.toJson(pojo);
Run Code Online (Sandbox Code Playgroud)

然后

Document doc = Document.parse(json); 
Run Code Online (Sandbox Code Playgroud)

创建文档很容易.但其他方式是有问题的.document.toJson()没有为长,时间戳等提供标准的json,并且gson在反序列化到POJO时抱怨.所以我需要一种方法将org.bson.Document转换为标准的json.

注意:我想避免使用mongo java驱动程序或morphia,因为这项工作无论如何都与mongo无关.

java

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

RestTemplate:exchange()vs postForEntity()vs execute()

我正在使用Spring Boot开发Rest API,并且必须访问应用程序的端点。我曾经用过RestTemplate。我能够使用2种方法来做到这一点,

我想知道这两种方法的用法和区别。

我也看到了另一种方法execute()。请阐明一下。如何以及何时使用它。

java resttemplate spring-boot

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

从JAX-RS中的另一个ExceptionMapper调用ExceptionMapper

在我的RESTEasy应用程序中,我得到了一个java.lang.reflect.UndeclaredThrowableException,因为从一个未在throws子句中声明异常的方法抛出了一个已检查的异常.
所以我正在写一篇文章UndeclaredThrowableExceptionMapper.该UndeclaredThrowableException包装的实际除外; 我打电话e.getCause()来取回它.
我可以抛出它或以某种方式查找适当ExceptionMapper的处理它吗?

jax-rs resteasy

8
推荐指数
1
解决办法
3748
查看次数

Jersey客户端下载并保存文件

我是jersey/JAX-RS实施的新手.请在下面找到我的球衣客户代码下载文件:

 Client client = Client.create();
 WebResource wr = client.resource("http://localhost:7070/upload-0.0.1-SNAPSHOT/rest/files/download");
 Builder wb=wr.accept("application/json,application/pdf,text/plain,image/jpeg,application/xml,application/vnd.ms-excel");
 ClientResponse clientResponse= wr.get(ClientResponse.class);
 System.out.println(clientResponse.getStatus());
 File res= clientResponse.getEntity(File.class);
 File downloadfile = new File("C://Data/test/downloaded/testnew.pdf");  
 res.renameTo(downloadfile);
 FileWriter fr = new FileWriter(res);
 fr.flush();
Run Code Online (Sandbox Code Playgroud)

我的服务器端代码是:

@Path("/download")
    @GET
    @Produces({"application/pdf","text/plain","image/jpeg","application/xml","application/vnd.ms-excel"})
    public Response getFile()
    {

        File download = new File("C://Data/Test/downloaded/empty.pdf");
        ResponseBuilder response = Response.ok((Object)download);
        response.header("Content-Disposition", "attachment; filename=empty.pdf");
        return response.build();
    }
Run Code Online (Sandbox Code Playgroud)

在我的客户端代码中我得到响应200 OK,但我无法将我的文件保存在硬盘上在下面的行中我提到了文件需要保存的路径和位置.不知道这里出了什么问题,任何帮助都会受到赞赏.谢谢!

File downloadfile = new File("C://Data/test/downloaded/testnew.pdf");
Run Code Online (Sandbox Code Playgroud)

java rest jax-rs jersey-2.0

8
推荐指数
2
解决办法
3万
查看次数

使用Jackson将JSON字符串数组映射到List <String>

我有从服务器返回的以下JSON.

 String json = {
    "values": ["name","city","dob","zip"]
 };
Run Code Online (Sandbox Code Playgroud)

我想用来ObjectMapper返回List<String>值.就像是:

List<String> response = mapper.readValue(json, List.class)
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,但没有一种方法可行.任何帮助表示赞赏.


编辑:我不想要额外的包装器对象.我想马上List<String>离开.

json jackson

8
推荐指数
3
解决办法
2万
查看次数

可以将Tomcat 7配置为插入"Content-Security-Policy"HTTP标头吗?

可以将Tomcat 7配置为Content-Security-Policy: frame-ancestors 'self'在每个响应中插入HTTP标头,例如它可以插入其他安全相关的标头X-Frame-Options吗?

security http tomcat7

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

什么是Java核心在2016年创建HTTP连接的官方方式?

我正在研究HttpURLConnection,自JDK 1.1,1997(现在差不多20年)以来存在,并且我非常惊讶它仍然是Java核心创建HTTP连接的官方方式.

自从它发布以来,许多库试图简化(/升级)HTTP连接的使用,比如Apache的HttpClient.

其他库试图简化REST HTTP调用,比如Jersey.

据我所知,没有HttpURLConnection向JDK添加包装器.

仍然HttpURLConnection Java核心创建HTTP连接的官方方式吗?

如果没有,官方的方式是什么?

java http httpurlconnection

8
推荐指数
2
解决办法
199
查看次数

为REST请求和响应创建不同的类是不是很糟糕?

我正在使用Spring Boot项目,作为我目前的工具,几乎每个API我都有请求响应类.

例如:

@RequestMapping(value = "/notice", method = RequestMethod.POST)
public AddNoticeResponse addNotice(@Valid @RequestBody AddNoticeRequest){
    Notice notice = ... // creating new notice from AddNoticeRequest
    noticeRepository.save(notice);
    AddNoticeResponse response = ... // creating new response instance from Notice
    return response;
} 
Run Code Online (Sandbox Code Playgroud)

请求和响应类看起来像:

@Data
@AllArgsConstructor
public class AddNoticeRequest{
    private String subject;
    private String message;
    private Long timeToLive;
}
Run Code Online (Sandbox Code Playgroud)
// Ommiting some annotations for brevity
public class AddNoticeResponse{
    private String subject;
    private String message;
    private Long timeToLive;
    private Date createTime; …
Run Code Online (Sandbox Code Playgroud)

java rest

8
推荐指数
1
解决办法
3933
查看次数

哪些HTTP状态代码可以缓存?

如标题中所述,哪些HTTP状态代码可以作为浏览器缓存?我做了一个快速搜索,没有找到权威的答案.

最初我认为它可能只是200好的回应,但我找不到任何支持这种想法的证据.

http cache-control http-status-codes

8
推荐指数
1
解决办法
1820
查看次数