```java
dubbo://30.5.120.36:20890/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-provider&bind.ip=30.5.120.36&bind.port=20890&dubbo=2.0.2&generic=false&interface=org.apache.dubbo.samples.basic.api.DemoService&methods=sayHello&pid=68763&release=2.7.0-SNAPSHOT&side=provider&timestamp=1548142826615
```

Here, in this example, the path value is 
`/org.apache.dubbo.samples.basic.api.DemoService`, it's generaged by default 
and is the same as `interface=org.apache.dubbo.samples.basic.api.DemoService`. 
I tried to figure out the role path plays in the framework, it seems to have 
some meaning for Rest or Http protocols, but is not used for Dubbo protocol.

* DubboProtocol

Not used at all except to distinguish two different items in Registry
```java
dubbo://30.5.120.36:20890/org.apache.dubbo.samples.basic.api.DemoService
```
```java
dubbo://30.5.120.36:20890/org.apache.dubbo.samples.basic.api.DemoService2
```
*Rest(maybe works for all http driven protocol)

Used to distinguish different rest paths
```java
@Path("users")
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
@Produces({ContentType.APPLICATION_JSON_UTF_8, ContentType.TEXT_XML_UTF_8})
@Api(value = "UserService")
public interface UserService {

    @GET
    @Path("{id : \\d+}")
    @ApiOperation(value = "getUser")
    User getUser(@ApiParam(value = "id") @PathParam("id")Long id);

    Long registerUser(User user);
}
```
```java
dubbo://30.5.120.36:20890/{your-path}/users/{id}
```

[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/3304 ]
This message was relayed via gitbox.apache.org for 
[email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to