Quando un client richiede il mio .../resources/user
URL con un HTTP GET
ottengo la seguente risposta:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<collection>
<User id="5">
<Password>DC647EB65E6711E155375218212B3964</Password>
<FirstName>Super</FirstName>
<LastName>Admin</LastName>
<Role id="4">
<Description>Default Guest Role</Description>
<Group id="2">
<Description>Default Guest Group</Description>
<Name>GuestGroup</Name>
</Group>
<Name>Guest</Name>
</Role>
<Role id="3">
<Description>Default Super Admin Role</Description>
<Group id="1">
<Description>Default Admin Group</Description>
<Name>AdminGroup</Name>
</Group>
<Name>SuperAdmin</Name>
</Role>
<Username>superadmin</Username>
</User>
<User id="6">
<Password>DC647EB65E6711E155375218212B3964</Password>
<FirstName/>
<LastName>Guest</LastName>
<Role id="4">
<Description>Default Guest Role</Description>
<Group id="2">
<Description>Default Guest Group</Description>
<Name>GuestGroup</Name>
</Group>
<Name>Guest</Name>
</Role>
<Username>guest</Username>
</User>
</collection>
Per motivi di efficienza nel trasporto dei dati, vorrei che il cliente fosse in grado di richiedere una versione breve di questa risposta. Qualcosa come:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<collection>
<User id="5">
<Password>DC647EB65E6711E155375218212B3964</Password>
<FirstName>Super</FirstName>
<LastName>Admin</LastName>
<Role id="4" />
<Role id="3" />
<Username>superadmin</Username>
</User>
<User id="6">
<Password>DC647EB65E6711E155375218212B3964</Password>
<FirstName/>
<LastName>Guest</LastName>
<Role id="4" />
<Username>guest</Username>
</User>
</collection>
Qual è il modo migliore per identificare una richiesta completa e una breve dal cliente e perché? La tecnologia client dovrebbe essere agnostica. La tecnologia server è Java EE 7
Alcune opzioni che ho pensato a me stesso:
- Servizi Web di livello secondario come
.../resources/user/short
- Diversi servizi web come
.../resources/user2
- Utilizza un parametro HTTP personalizzato lik
Accept-Length : Short
- Utilizza il campo di richiesta HTTP
Expect : Short