小编Cra*_*his的帖子

使用Spring MVC对Java中的JSON和Generics进行编组

我正在尝试将JSON对象编组到包含通用对象的包装类中,以及有关该对象签名的其他信息.

public class Signable<T> {

    private T object;
    private String signature;

    public class Signable() {
       generateSignature();
    }

    /* Getters and setters  */
}
Run Code Online (Sandbox Code Playgroud)

只要我使用已创建的对象构造它,包装器类就可以正常工作,并且它能够生成所需的json

@RequestMapping(value="/test/json/return",method=RequestMethod.GET)
public @ResponseBody Signable<Cart> getTest()
{
    Cart cart = new Cart();
    // populate cart with OrderItems ...
    Signable<Cart> sign = new Signable<Cart>();
    sign.setObject(cart);
    return sign;
}
Run Code Online (Sandbox Code Playgroud)

它能够产生预期的输出

{
   "object":{
        "orderItems":[
              {
                  "id": "****",
                  "desc": "asdlfj",
                  "price": 25.53
              }
        ]
   },
   "signature":"s9d94f9f9gdfg67d8678g6s87d6f7g6";
}
Run Code Online (Sandbox Code Playgroud)

这是我想要的格式.但是,当尝试将从Signable生成的相同json编组回Signable时,我收到以下错误:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to Cart
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它无法确定json中的"对象"应该映射到Cart的类型(它只是默认为LinkedHashMap),即使它在方法头中指定.

@RequestMapping(value="/test/json/post",method=RequestMethod.POST)
public @ResponseBody Signable<Cart> postTest(@RequestBody …
Run Code Online (Sandbox Code Playgroud)

java json spring-mvc jackson

11
推荐指数
1
解决办法
8427
查看次数

如何将特定请求详细信息记录到rails服务器日志

我通常不喜欢直接询问如何在不了解正在发生的事情的情况下做些什么,但我对rails非常陌生,而且我很难完成这项任务.

基本上,我需要在单个日志语句中捕获每个请求的以下信息(如果可能)

  • 日志输入日期
  • 日志条目的时间
  • HTTP方法
  • 请求的URL
  • 港口
  • 请求者的IP地址
  • 请求者的用户代理
  • 引用网址
  • HTTP响应代码
  • 主机名

    自定义日志格式的首选方法是什么?是否可以只修改现有日志并将其传递给它?或者我是否需要扩展和覆盖我需要的行为?

    我不需要将其保存到不同的日志文件或任何内容,只需在每个请求中输出到STDOUT.

    任何有关这方面的帮助将不胜感激.

    谢谢!

  • ruby logging ruby-on-rails heroku

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

    Webpack将相同文件类型的加载器链分开

    是否可以为同一个扩展运行两个单独的加载链?

    在我的例子中,我想运行一组加载器来构建一个静态文件,另一组用来编写一组不同的文件(用于服务器端渲染)

      {
        test: /\.p?css$/,
        use: ExtractTextPlugin.extract([ "css-loader", "postcss-loader" ]),
      },
      {
        test: /\.p?css$/,
        use: [  
          {
            loader: "emit-file-loader",
            options: {
              name: "dist/[path][name].pcss",
            },
          },
          {
            loader: "skeleton-loader",
            options: {
              procedure: function (content) {
                return `module.exports = ${content}`
              },
            },
          },
          "postcss-loader",
        ]),
      }
    
    Run Code Online (Sandbox Code Playgroud)

    但是根据webpack的加载器顺序是什么?它似乎在同一个链中运行所有加载器,即使它们是在单独的规则中定义的.

    也许我不完全理解装载机,但有没有办法让每组装载机(use列表)独立运行?

    webpack webpack-2

    7
    推荐指数
    1
    解决办法
    1155
    查看次数

    标签 统计

    heroku ×1

    jackson ×1

    java ×1

    json ×1

    logging ×1

    ruby ×1

    ruby-on-rails ×1

    spring-mvc ×1

    webpack ×1

    webpack-2 ×1