2016-05-01 19 views
0

オブジェクトを部分的に更新するには?部分的なオブジェクトの更新

例えばオブジェクト "プロジェクト" を作成:

curl -X POST -H "Content-Type:application/json" -d ' 
{ "name":"Project 1", "number": 123 } 
' localhost:8080/myapp/projects 
{ 
    "id" : 79, 
    "number" : "123", 
    "name" : "Project 1", 
    "_links" : { 
    "self" : { 
     "href" : "http://localhost:8080/myapp/projects/79" 
    }, 
    "project" : { 
     "href" : "http://localhost:8080/myapp/projects/79" 
    } 
    } 
} 

そして、このプロジェクトを更新:

curl -i -X PUT -H "Content-Type:application/json" -d ' 
{ "number": 124 } 
' localhost:8080/myapp/projects/79 
{ 
    "id" : 79, 
    "number" : "124", 
    "name" : null, 
    "_links" : { 
    "self" : { 
     "href" : "http://localhost:8080/myapp/projects/79" 
    }, 
    "project" : { 
     "href" : "http://localhost:8080/myapp/projects/79" 
    } 
    } 
} 

プロパティ "名前" は今nullです。 このプロパティが更新要求で設定されていない場合、古い値のオブジェクトプロパティを設定するにはどうすればよいですか?

私がRESTfulなエンドポイントを作成するために、Spring MVCのを指示するProjectRepositoryの利用@RepositoryRestResource注釈よ/

答えて

0

ソリューションプロジェクト:PATCH HTTPメソッドを使用しますが。

curl -i -X PATCH -H "Content-Type:application/json" -d ' 
{ "number": 124 }      
' localhost:8080/myapp/projects/79 
{ 
    "id" : 79, 
    "number" : "124", 
    "name" : "Project 1", 
    "_links" : { 
    "self" : { 
     "href" : "http://localhost:8080/myapp/projects/79" 
    }, 
    "project" : { 
     "href" : "http://localhost:8080/myapp/projects/79" 
    } 
    } 
} 
関連する問題