Example 10 Find all functions $f: \mathbf{Q} \rightarrow \mathbf{Q}$, satisfying the condition $f[x+f(y)]=f(x) \cdot f(y)(x, y \in \mathbf{Q})$.


Solution: Clearly, $f=0$ satisfies the condition.
Suppose $f \neq 0$, take $f(y) \neq 0$, from $f(y)=f[y-f(y)] \cdot f(y)$, we get $f[y-f(y)]=1$, i.e., there exists $a \in \mathbf{Q}$, such that $f(a)=1$.
Let $y=x$ and substitute into the given condition, we have $f(x+1)=f(x), x \in \mathbf{Q}$.
Therefore, $f(x)$ is a periodic function, and 1 is one of its periods. Thus, $f(x+n)=f(x), n \in \mathbf{Z}$.
Also, because $f[n \cdot f(y)]=f[(n-1) f(y)+f(y)]$
$$
=f[(n-1) f(y)] \cdot f(y)=\cdots=f(0) \cdot f^{n}(y),
$$

Let $f(g)=\frac{q}{p}, p>0, p, q \in \mathbf{Z}$, then $f(0)=f(q)=f(0) \cdot f(y)$.
Since $f(0) \neq 0$, then $f^{2}(y)=1, f(y)=1$ or -1.
If $f(y)=-1$, then $f(x-1)=f(x) \cdot f(y)=-f(x)$, which still leads to $f(x)=0$, thus for all $x \in \mathbf{Q}, f(y)=1$.
Hence, the required $f(x)$ is $f(x)=0$ or $f(x)=1$.