小编gma*_*ami的帖子

Spring Boot应用程序:找不到类型返回值的转换器

我根据编写一个简单的REST API 这个弹簧引导教程.在我的本地开发机器(Ubuntu 15.04和Windows 8.1)上,一切都像魅力一样.

我有一个旧的32位Ubuntu 12.04 LTS服务器,我想要部署我的REST服务.

启动日志没问题,但是一旦我向/ user/{id}端点发送GET请求,我就会收到以下错误:

java.lang.IllegalArgumentException: No converter found for return value of type: class ch.gmazlami.gifty.models.user.User
Run Code Online (Sandbox Code Playgroud)

然后在堆栈跟踪中:

java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.LinkedHashMap
Run Code Online (Sandbox Code Playgroud)

整个堆栈跟踪都发布在这里.

我查看了一些引用此错误的答案,但这些似乎并不适用于我的问题,因为我使用的是Spring-Boot,没有任何xml配置.

受影响的控制器是:

    @RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
public ResponseEntity<User> getUser(@PathVariable Long id){
    try{
        return new ResponseEntity<User>(userService.getUserById(id), HttpStatus.OK);
    }catch(NoSuchUserException e){
        return new ResponseEntity<>(HttpStatus.NOT_FOUND);
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.这是非常奇怪的,因为完全相同的东西在其他机器上工作.

提前致谢!

rest ubuntu converters spring-boot

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

使用GSON-Library的JSON:错误预期BEGIN_OBJECT但是是STRING

我试图用json将json字符串解析回Java对象.但我一直得到上​​面提到的错误:

Expected BEGIN_OBJECT but was STRING.
Run Code Online (Sandbox Code Playgroud)

我看到这个错误有一些SO问题,但它们似乎都不适用于我的情况.

我的Java代码如下:

Gson gson = new Gson();
Payment p = gson.fromJson(paymentJson, Payment.class);
Run Code Online (Sandbox Code Playgroud)

其中paymentJson是Payment对象的JSON-String,我通过http帖子获取.

用于测试它的Json-String Im如下:

{
"creationDate": "2013-04-10T09:59:45.890+02:00",
"beneficiary": "Heat Hot Sauces",
"amount": 31.54,
"ibanSender": "CH190020600000DEMO303",
"paymentType": "ACCOUNT_TO_ACCOUNT",
"executionDate": "2013-04-10",
"fees": 0,
"ibanReceiver": "CH730020600000DEMO301",
"status": {
    "code": "PENDING"
},
"currency": "CHF",
"description": "Sudden Death Sauce",
"id": "25202",
"total": 31.54
Run Code Online (Sandbox Code Playgroud)

}

我用JsonLint检查了JSON的有效性,JsonLint是它的有效json.

我知道另一方通过http向我发送json数据也使用了GSON和同一类"Payment",但是我无法/允许在那里更改代码.

Payment类看起来像这样:

public class Payment {

  private String id;
  private PaymentType paymentType;
  private PaymentCategory paymentCategory;
  private String ibanSender;
  private LocalDate executionDate;
  private DateTime …
Run Code Online (Sandbox Code Playgroud)

java parsing json gson

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

标签 统计

converters ×1

gson ×1

java ×1

json ×1

parsing ×1

rest ×1

spring-boot ×1

ubuntu ×1