2016-12-29 4 views
1

私は春SpringデータをJPA + Oracleに実装していますSTS ...それis`sample私はメソッドを取得のためのが、ポストの応答200を取得しています郵便配達中のアプリケーションと私は推測するDBからデータを読み込み、エラーの下に与えることができませんでした置く -HTTPメッセージを読み取ることができませんでした:org.s.HttReadableException:ドキュメントを読み取れませんでした: 'PUT'が認識されませんでした( 'true'、 'false'または 'null')

HTTPメッセージを読み取ることができませんでした: org.springframework.http.converter.HttpMessageNotReadableException: ドキュメントを読み取れませんでした:認識できないトークン「PUT」: [email protected]で ( 'true'、 'false'または 'null')が必要です6e7;行:1、列:5]; 例外はcom.fasterxml.jackson.core.JsonParseExceptionです。 認識できないトークン 'PUT':期待していた( 'true'、 'false'または 'null') [Source:[email protected];行:1、カラム:5]

@Service 
public class PersonService { 
    @Autowired 
    private PersonRepository personRepository; 


    public Object findAll() { 
     return personRepository.findAll(); 
    } 

    public Person findById(Long id) { 
     return personRepository.findOne(id); 
    } 

    public Person save(Person person) { 
     return personRepository.save(person); 
    } 


    public Person delete(Person person) { 
     personRepository.delete(person); 
     return person; 
    } 

    public Person findByEmail(String email){ return null; } 
} 

コントローラのメソッド:

@RequestMapping(value = "/all", method = RequestMethod.GET, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) 
public Hashtable<String, Person> gatAll() { 
    return personService.getAll(); 
} 

@RequestMapping(value = "/update/{id}", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) 
@ResponseBody 
public String updateUser(@RequestBody Person person, @PathVariable long id) { 
    try { 
     person.setId(id); 
     personService.save(person); 
    } catch (Exception ex) { 
     return "Error in Updating the user : " + ex.toString(); 
    } 

    return "User successfully Updated"; 
} 

答えて

1

エラーは、あなたのコントローラに与えているデータの形式が原因である可能性があります。あなたのコントローラメソッドはJSON文字列を期待しています。 たとえば、jQueryの場合、JSON.stringify()はJSON文字列を返します。 このコントローラにデータを送信しているクライアント側でこれを確認することをお勧めします。

私のプロジェクトで作業しているときに、私は同じようなエラーに直面していました。私のクライアント側はPythonで書かれていて、私にJSON文字列を送るはずでした。だから、私はダンプ()を使用しなければなりませんでした。

関連する問題