小编Eri*_*agt的帖子

Spring Boot中的JSON Java 8 LocalDateTime格式

我在Spring Boot Application中格式化Java 8 LocalDateTime时遇到了一个小问题.使用"正常"日期我没有问题,但LocalDateTime字段转换为以下内容:

"startDate" : {
    "year" : 2010,
    "month" : "JANUARY",
    "dayOfMonth" : 1,
    "dayOfWeek" : "FRIDAY",
    "dayOfYear" : 1,
    "monthValue" : 1,
    "hour" : 2,
    "minute" : 2,
    "second" : 0,
    "nano" : 0,
    "chronology" : {
      "id" : "ISO",
      "calendarType" : "iso8601"
    }
  }
Run Code Online (Sandbox Code Playgroud)

虽然我想将其转换为:

"startDate": "2015-01-01"
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

@JsonFormat(pattern="yyyy-MM-dd")
@DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
public LocalDateTime getStartDate() {
    return startDate;
}
Run Code Online (Sandbox Code Playgroud)

但是上述任何一个注释都不起作用,日期会像上面那样被格式化.建议欢迎!

java json java-8 spring-boot java-time

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

编译Groovy和Kotlin?

我正在使用Groovy和Kotlin开发一个小项目,而我的Kotlin代码依赖于我的Groovy代码,而不是相反.但是,Kotlin首先编译我的代码而不是Groovy,因此,我得到的错误就像Unresolved reference: SiteRepository

任何建议我如何解决这个问题,通过改变构建顺序,或者Kotlin明确依赖于Groovy,还是任何其他建议?

groovy gradle kotlin

20
推荐指数
2
解决办法
3208
查看次数

在Play中将Seq映射到JSON

我正在尝试使用Play 2.x将Scala案例类映射到JSON.这适用于案例类的简单版本,但是当涉及到Seq或对象列表时则不适用:然后我得到"无隐式格式"和"找不到未应用函数"错误.

我正在使用的代码如下:

case class Book(title: String, authors: Seq[Author])
case class Author(name: String)
Run Code Online (Sandbox Code Playgroud)

我已经使用Json.format宏来为此生成读取和写入:

implicit val bookFormat = Json.format[Book]
implicit val authorFormat = Json.format[Author]
Run Code Online (Sandbox Code Playgroud)

但是现在当我编译代码时,我收到以下错误:

Error:(25, 40) Play 2 Compiler: 
 /Users/erikp/Userfiles/projects/play/booksearch/app/models/user.scala:25: No implicit format for Seq[models.Author] available.
   implicit val bookFormat = Json.format[Book]
                                        ^
Run Code Online (Sandbox Code Playgroud)

没有Seq它可以很好地工作,但是使用Seq,它会失败.我尝试添加implicit val authorsFormat = Json.format[Seq[Author]]隐式转换器,但这没有效果.

json scala playframework

14
推荐指数
1
解决办法
9619
查看次数

不能将'Fn`闭包中捕获的外部变量借用为可变

这是我与Rust的第一天,但​​我正在尝试做一些微不足道的事情,而且我被困住了.

我想要做的是向Vector添加一个结构,并返回结果.我正在尝试创建一个非常简单的REST服务,它将在发布时将数据存储在内存中,并在执行GET时以JSON格式返回所有数据.

这是我目前的代码:

fn main() {
    let mut server = Nickel::new();
    let mut reservations = Vec::new();

   server.post("/reservations/", middleware! { |request, response|
        let reservation = request.json_as::<Reservation>().unwrap();

        reservations.push(reservation); // <-- error occurs here

        format!("Hello {} {}", reservation.name, reservation.email)

    });

    server.listen("127.0.0.1:3000");
}
Run Code Online (Sandbox Code Playgroud)

我用RefCell 尝试了这个解决方案,但后来我得到了没有实现特征同步的错误Vec<reservation::Reservation>

rest rust nickel

14
推荐指数
1
解决办法
2768
查看次数

将Gradle.build版本导入Spring Boot

我试图在视图中显示我的Spring Boot应用程序的应用程序版本.我确定我可以访问这个版本信息,我只是不知道如何.

我尝试以下这些信息:https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html,并把这个在我的application.properties:

info.build.version=${version}
Run Code Online (Sandbox Code Playgroud)

然后将它加载@Value("${version.test}")到我的控制器中,但这不起作用,我只会得到如下错误:

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'version' in string value "${version}"
Run Code Online (Sandbox Code Playgroud)

有关获取我的应用程序版本,弹簧启动版本等信息的正确方法的任何建议到我的控制器?

java spring gradle spring-boot

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

使用python'request'发送JSON布尔值

我有一个非常简单的问题,但我无法弄明白该怎么做.我遇到的问题是我想使用Python和请求发送以下有效负载:

{ 'on': true }
Run Code Online (Sandbox Code Playgroud)

这样做:

payload = { 'on':true }
r = requests.put("http://192.168.2.196/api/newdeveloper/lights/1/state", data = payload)
Run Code Online (Sandbox Code Playgroud)

不起作用,因为我收到以下错误:

NameError: name 'true' is not defined
Run Code Online (Sandbox Code Playgroud)

我的服务器不接受将true发送为"true",因此这不是一个选项.有人建议吗?谢谢!

python rest python-requests

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

使用Spring @Configuration批注注入bean列表

我有一个Spring bean,在Spring Bean中我依赖于其他bean的列表.我的问题是:如何将bean的通用列表注入该bean的依赖项?

例如,一些代码:

public interface Color { }

public class Red implements Color { }

public class Blue implements Color { }
Run Code Online (Sandbox Code Playgroud)

我的豆子:

public class Painter {
  private List<Color> colors;

  @Resource
  public void setColors(List<Color> colors) {
      this.colors = colors;
  }
}

@Configuration
public class MyConfiguration {

  @Bean
  public Red red() {
    return new Red();
  }

  @Bean
  public Blue blue() {
    return new Blue();
  }

  @Bean
  public Painter painter() {
    return new Painter();
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是; 如何获取Painter中的颜色列表?另外,在旁注:我应该让@Configuration返回接口类型,还是类?

谢谢您的帮助!

java spring spring-annotations

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

重构Grails命令验证

在我的应用程序中,我有很多代码如下:

def add(CreatePersonCommand command) {
    if(command.hasErrors()) {
        redirect(action: 'add')
        return
    }
}
Run Code Online (Sandbox Code Playgroud)

我不是这种重复的粉丝,所以我想重构它.我希望Grails会有如下内容:

@Validate(action:'someAction')
def add(CreatePersonCommand command) {

}
Run Code Online (Sandbox Code Playgroud)

要么

def add(@Valid CreatePersonCommand command) {
}
Run Code Online (Sandbox Code Playgroud)

哪个会自动验证命令,并在出现错误时重定向到GSP.我尝试用拦截器和过滤器创建这样的东西,但我失败了,因为我无法访问过滤器中的操作和命令.

也许我错过了一些东西,但有没有更好的方法来处理这个问题,或者实现类似上述的东西?

grails groovy

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

将文件从一个文件夹复制到另一个文件夹

我正在尝试将文件从一个文件夹复制到另一个文件夹.

这是我在我的代码中得到的:

public static void copyFile(String path) throws IOException{
   newPath = path;    
   File destination = new File ("E:/QA/chart.js"); 
   FileUtils.copyFile(destination, new File(newPath));      
}
Run Code Online (Sandbox Code Playgroud)

但它并未将所需文件复制到其位置.需要什么,从E盘复制chart.js并复制到newPath变量位置.有没有其他方法将文件从一个地方复制到另一个地方?

java file-copying

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

OrientDB - 按日期查询

我正在尝试在OrientDB中执行查询以获取每天的帖子数.但是,我的GROUP BY查询失败了,我没看到我做错了什么.

我有一个数据库,里面有3个帖子,所有帖子都有不同的日期.

这是我的查询:

select
    datePosted.format("dd-MM-yyyy") as day, count(*)
from
    Post
group by
    day
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.我希望它能够检索每天发布帖子数量的结构,但它只检索一个结果:

[#-2:1{count:3} v0]
Run Code Online (Sandbox Code Playgroud)

有什么建议?

sql orientdb orientdb-2.1

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