以下是User
GET
实体与Hateoas库的/**
* [...]
*
* @Hateoas\Relation(
* "self",
* href=@Hateoas\Route("api_get_user", parameters={"id"="expr(object.getId())"})
* )
* @Hateoas\Relation(
* "placeofbirth",
* href="expr(link(object.getPlaceOfBirth(), 'self'))",
* exclusion=@Hateoas\Exclusion(excludeIf="expr(object.getPlaceOfBirth() === null)")
* )
*/
class User
{
// [...]
/**
* @ORM\OneToOne(targetEntity="Place")
* @Serializer\Exclude
*/
private $placeOfBirth;
// [...]
}
实体:
_links
我的REST响应是正确的。 OneToOne
部分预计会包含{
// [...]
"_links": {
"self": {
"href": "\/api\/v0.1\/users\/1"
},
"placeofbirth": {
"href":"\/api\/v0.1\/places\/3"
}
}
}
关系的URI:
OneToMany
但是,我不知道如何使用/**
* @ORM\OneToMany(targetEntity="Place", mappedBy="visitor")
* @Serializer\Exclude
*/
private $visitedPlaces;
关系获得相同的效果。例如:
{
// [...]
"_links": {
"self": {
"href": "\/api\/v0.1\/users\/1"
},
"visitedPlaces": [
{ "href": "\/api\/v0.1\/place\/1" },
{ "href": "\/api\/v0.1\/place\/2" },
{ "href": "\/api\/v0.1\/place\/3" },
{ "href": "\/api\/v0.1\/place\/4" }
]
}
}
我想(等等):
visitedPlaces
我知道我可以将import os
import re
path = input()
for root, dir, files in os.walk(path):
for eachXLF in files:
os.chdir(root)
openXLF = open(eachXLF, 'r+')
XLF = openXLF.read()
repl = re.sub(r'<seg-source>(.*?)</seg-source>', 'xxx', XLF)
openXLF.write(repl)
openXLF.close()
作为embedded resources,但它确实有效,但这不是我想要的。我不想获得整个对象,只需要资源URI,就像我对单一资源关系一样(参见出生地)。
是否有可能,如果是这样的话?