►
From YouTube: XAFers Community Standup. XAF WEB API
Description
Click Here to Subscribe: http://xaf.life/35
Websites:
https://xafmarin.com/
https://xari.io
https://www.xafers.training/
http://xafersweekly.com/
Facebook Group
http://xaf.life/4g
Free XAF Support Hour
https://calendly.com/xari/free-xaf-support-hour
A
All
right,
let's
get
started,
hey
thanks.
Everyone
for
joining
in
this
is
the
safer
community
stand
up.
We
supposed
to
do
it
a
second
tourist.
So
every
month
we
last
moon
was
crazy,
so
we
are
getting
back
on
Trend
now
and
we
have
a
lot
of
great
meetups
coming
on.
So
we're
gonna
talk
today
about
starting
with
the
software
API,
but
we'll
definitely
do
a
few
more
on
software
API,
especially
testing
everything
new
that
will
be
to
have
been
released.
A
A
I,
remember
the
well,
let's
not
get
a
header
for
sale,
I'm
gonna,
let
Jose
and
Dave
has
always
introduce
themself
I
always
like
to
take
those
two
minutes
for
everyone
who
watched
the
video
later
to
to
know
who
we
are
and
why
we
are
passionate
about
stuff
and
just
giving
them
the
chance
to
always
reach
out
to
us.
I
think
that
there
is
always
a
huge
problem
community,
so
watch
it
introduce
yourself.
Then
Dave
and
then
we
get
on
track.
B
Okay,
so
hi
everyone.
My
name
is
otio
here:
mother
Express
MVP,
usually
I
like
to
do
dotnet
experiments
so
with
in
general
in
the
office
we
try
to
push.net
to
the
limits,
and
that
includes
XPO
or
xcf,
and
anything
don't
need
related.
So
well,
that's
everything
for
me
so
base
your
turn.
A
We
provide
Consulting
and
training
and
custom
development
all
that
fun
stuff.
So
if
you're
stuck
on
something
reach
out
to
us
and
we'll
give
you
a
hint
nice,
so
I'm
always
amazed
when
I
hear
a
staff,
A
CTV
2006
release
2007,
it's
like
we
are
in
2022
and
we're
going
strong,
and
this
software
API
is
a
dream
that
a
lot
of
suffering
has
had,
because
we
have
done
a
lot
of
crazy
Integrations
to
be
able
to
use
a
soft
data
outside
of
software,
like
in
summary,
in
another
project.
A
So
even
even
reports
I
remember
having
to
put
in
our
API
dual
reports
on
NET
Framework
and
then
send
the
the
stream
back
to
summary.
So
this
to
be
able
to
get
this
in
a
nice
format.
This
is
beautiful
with
swagger
for
documentation.
This
is
just
a
dream
control.
So
the
interesting
thing
is
that
a
we
have
done
things
with
a
webi.
We
have
done
things
with
odata.
We
have
done
thing
with
a
WCF
grass
ql,
so
you
name
it.
We
have
tried
to
to
basically
Place
everything.
A
So
we
know
what
we
like
I
used
to
like
a
lot.
The
other
B3,
because
it
was
simple
fast,
you
created
your
your
Your
solution
through
the
template
and
it's
a
chain
that
they
are
discontinuing
that
and
only
allowing
odata
before
there
was
a
lot
of
things
that
they
couldn't
do
it
exactly
so
it
became
a
little
more
cumbersome,
but
I,
don't
think
that
it
will
get
easier
than
what
we're
getting
now.
A
So
we're
getting
a
lot
of
great
things
out
of
the
box,
so
documentation,
documentation,
I,
think
that
they
are
doing
a
great
job
on
the
documentation
you
can
see
here
when
they
describe
and
they
are
using,
actually
everything
we
need
and
they
are
actually
improving,
every
release.
If
you
see
it
right
now,
they
are
not
using
any
more
the
saf
application.
They
are
using
the
iOS
space,
Factory
I
believe
something
like
that:
a
security
providers
or
they
are
taking
away
everything
that
could
slow
down
the
system
for
performance
reason.
A
So
right
here
we
have
great
documentation
about
the
web.
Api
you
can
check
at
the
authentication
part
you
can
say,
see
the
middle
type
for
Windows
I.
Remember
this
being
a
huge
thing,
because
Windows
have
the
app
config.
The
connection
string
and
then
we
have
to
to
encrypt
that
and
do
other
things
and
not
even
that
there
were
a
lot
of
clients
that
they
didn't
not
want
to
have
that
in
there.
They
want
to
have
that
middle
tire.
A
A
A
And
you
can
check
the
documentation
where
all
these
steps
are
explained,
but
basically
same
thing
that
we
are
always
used
to.
We
can
check
all
the
login
info,
what
is
the
the
user
type
permission
and
so
on
so
on
and
of
course,
we're
going
to
have
right
here,
the
service
API,
with
the
options.
That
is
the
way
API
options
that
are
several
things
for
us
to
do.
A
A
That
way,
we
don't
have
to
create
a
new
one,
but
we
will
definitely
do
one
so
right
here.
You
are
telling
them
that
we
want
to
expose
on
the
software
API,
the
application
user
that
we
have
in
our
soft
module.
That
we
know
is
inherited
from
permission
policy,
user
and
so
on.
So
let's
run
the
Blazer
server
at
least
once
so.
A
It
creates
the
databases,
create
the
user
and
so
on,
and
then,
let's
run
the
web
API
to
sharing
action,
and
if
you
see
I
haven't
done
anything
I,
just
uncomment
one
line,
you
haven't
done
nothing
at
all
and
we
will
have
already
a
soft
application
with
all
the
groups
operation,
all
the
views,
all
the
database.
And
then
we
have
a
web
API
as
a
real
layer.
A
A
You
can
see
here
the
authentication
control
that
they
are
providing
for
us.
You
can
always
use
your
own
and
change.
You
can
see
the
authenticate
method,
you
can
see
what
are
they
taking
the
password
and
the
the
username
and
password
you
can
see
how
they
return
and
authorized.
If
it's
not,
it's
not
doesn't
find
the
the
user,
and
you
see
how
create
the
claims,
how
you
create
the
tokens.
A
You
can
see
everything
there
in
between
and
you
can
also
check
in
the
app
settings,
the
ewt
section
when
the
user
signing
key
ID
that
basically,
you
should
have
that
in
your
secret
storage.
But
you
have
here
everything
you
need,
so
let's
wait
for
it
and
we
have
the
applications
running.
You
see
that
we
already
have
all
the
user.
As
always,
and
let's
now
run
the
web
API.
A
This
is
either
editing
control
if
you
are
doing
also
like
summary,
and
things
like
that,
because
you
right
away
get
the
information
that
you
need
and
with
odara
that
you
can
do,
and
we
will
talk
about
the
equation
with
other.
You
want
to
filter
with
this
name.
You
can
do
expand,
you
can
do
select.
You
can
do
a
lot
of
things.
A
Okay,
we
have
right
here.
If
you
see
we
have
done
anything
and
we
already
have
over
shower
or
Swagger
with
the
software
API
specification.
You
can
see
here
that
we
have
the
application
user
and
we
have
all
these
get
posts
and
all
this
get
counts.
Just
a
specific
user.
All
the
users
or
a
lot
of
endpoints
are
ready
for
us.
A
A
You
see
here
that
we
have
our
token
here
that
it
was
created
in
this
method
and
if
you
see
here
all
the
clients
who
is
the
user,
what
is
the
claims
when
it
expires?
So
all
those
things
are
right
there
available
for
us,
so
we're
gonna
copy
that
token
we're
going
to
authorize.
So
we're
going
to
put
the
token
here
and
that's
it
now
we
can
close
and
we
can
do
anything.
We
can
go
to
the
application
user
and
just
so
try
it
out.
A
I'm
doing
the
post
so
and
I
have
to
I'm
trying
to
do
that
again,
execute
and
right
here
you
can
see
that
we
have
our
application
user
and
we
have
where
is
our
user
is
active
change
on
a
password
on
first
logon
we
have
the
ID
same
thing
for
the
for
the
other
user,
the
admin
so
right
there
without
doing
anything
else,
we
already
have
an
API
running
with
authentication
with
GWT
token.
This
is
amazing.
So
how
long
does
it
took
us
before?
To
get
to
this
point?
Watch.
B
I
think,
like
two
minutes,
you
know
like
I,
remember
the
old
days
like
five
years
ago,
where
we
did
all
type
of
magic
to
do
something
like
this
and
to
use
XPO
in
summary
and
xdf.
In
summary,
so
now
to
see
the
videos
I
mean,
if
you
give
developers
test
enough
time,
they
will
end
up
doing
your
work,
because
with
this
remember
that
we
did
all
type
of
Plumbing
classes
middle
layers
to
do
something
like
this
and
he
was
always
happy.
B
Or
whatever
or
it
comes
with
the
wizard,
so
basically
there
is
no
effort
involved
and
now
to
think
about
all
the
things
that
we
did
before,
which
seems
like
a
wave.
But
in
the
end
you
learn
out
of
those
experiences
right
so
and
then
you
know
what
you
want
to,
including
the
framework
and
stuff
like
that.
So
now.
B
For
me,
this
looks
like
magic,
I
watch
all
day,
using
it
and
doing
tests,
because
this
career
is
not
only
a
recipe
It's,
a
combination
of
using
the
rest
API,
and
it
also
uses
the
all
data
syntaxes
to
expand
to
filter
into
other
stocks.
So
it's
not
remember
that
you
said
at
the
beginning
that
we
use
WCA
press
API
or
data,
and
this
is
all
of
that
at
the
same
in
one
project
in
like
a
few
lines
so
effectively
It's
a
combination
of
everything
that
we
did
before.
A
The
other
thing,
okay,
that
I
wanted
to
mention
here,
is
that
I
try
it
out
a
little
bit
before,
but
you
know,
as
always,
you
I
should
have
try
it
out
with
a
little
more
time
to
fix
anything
and,
of
course,
because
it's
sold.
We
need
to
update
it
to
the
latest
donate
and
to
the
latest
version,
but
we
have
a
lot
of
generator
that
used
to
read
all
these
metadata
and
create
the
classes
for
the
Poco
classes
for
summer
informally.
For
anything,
we
need
so
basically
right
now.
A
We
basically
don't
need
it,
because
we
can
use
or
another
standard
project
in
my
way
and
everything
else,
but
it
was
definitely
something
that
we
couldn't
do
in
the
past.
In
the
past,
we
could
not
make
the
Net
Framework
and
trying
to
use
any
type
of
Base
implementation
in
in
mono.
That
was
given
us
an
error,
so
we
actually
created
a
olata
generator.
That's
how
we
call
it
afraid
all
this
and
create
all
the
classes,
everything
we
did.
So
we
can
write
a
web
B
and
working
on
on
summary.
A
B
Also
here
is
like
I
guess
we
will
repeat
this
a
lot
today.
This
looks
like
super
simple,
like
it's
something
that
they
just
include
like
three
pages
or
something,
but
we
know
all
the
plumbing
underneath.
So
it's
a
huge
effort
that
they
have
done
so
I
see
it
as
a
huge
gift,
especially
because
these
things
they
don't
increase
the
price
or
or
the
framework
is
yours.
You
pay
the
same
membership
and
you
can.
You
can
keep
getting
yourself
so
I
feel
like
I
wish.
B
This
would
have
been
available
like
a
few
years
ago,
but
anyway,
so
I
have
a
few
demonstrates.
I
will
be,
I
will
be
building
up
on
the
same
demo.
B
So
first
area,
as
you
said,
talking
about
references
and
stuff
like
that
today,
I
mean
I
had
like
several
examples
before
several
tests
and
the
documentation
is
still
I,
guess
in
a
work
in
progress,
or
maybe
the
Technologies,
because
some
don't
match
exactly.
You
have
to
double
check
or
then
go
some
stuff,
but
beside
that,
like
everything
end
up
being
like
usable
most
of
the
time
so
here,
I
will
show
a
few
things
that
they
don't
relate
in
the
end
we
were
using
in
the
API.
B
First
is
the
solution.
One
of
these
Asians
was
I,
was
doing
a
sample
break
for
myself
to
test
something
and
I
wanted
to
use.
Remember
that
we
did
the
the
geolocation
provider
for
XPO
for
Microsoft
SQL
Server,
so
I
was
reading
about
that,
and
those
types
are
not
available
in
in
net
coordinate
three
units,
five
and
six
at
the
moment,
so
you
cannot
use
them
in
XPO,
so
well.
B
I
wanted
to
use
SQL
Server
because
nowadays
is
is
what
I'm
using
all
the
time,
but
you
know
Javier
that
I
usually
used
to
come
from
a
post-based
background.
So
I
said:
okay
I
will
do
what
I
did
before
I
used.
I
will
use
both
of
this
and
I
have
done
this
provider
several
times.
I,
never
failed.
It
I
always
throw
it
away,
but
this
time
I
I
might
even
foolish
it
because
I
like
how
it
how
it
was
so
we
have
here.
This
is
the
XPO
provider.
B
B
Geolocation
queries
and
your
location
support,
so
I
want
to
include
Json
support
and
some
other
stuff
that
well
post
recently
need
database
and
I
mean
it's
open
source
and
and
is
the
same
as
Oracle
almost
without
a
tax
price,
so
okay,
basically
I
just
inherit
from
their
provider,
I
added
a
few
lines,
basically
which
is
register
the
net
topology
Suite.
B
In
this
case,
if
you
see
the
references,
this
is
the
most
important
one,
and
basically
what
this
do
is
it
modifies
the
ado.net
provider
to
include
other
types,
and
that
is
kind
of
knocking
standard?
If
you
see
how
SQL
Server
do
it
for
for
geometry
types,
they
do
it
in
one
way,
always
do
it
in
a
different
way.
So
that's
what
that's?
Why
I
guess
it's
hard
to
to
encapsulate
that
functionality
in
general,
because
each
provider
do
it
in
a
different
way?
B
B
Then
these
two
methods
are:
they
want
to
resolve
the
connection,
string
and
I
just
added
one
case
in
here,
which
is
if,
if
what
the
able.net
provider
returns,
is
a
point
type
I
just
returned
about
you.
In
some
cases
they
they
cast
it
as
a
stream.
They
had
gone
empty,
quotes
or
stuff
like
that,
but
I
just
added
this
case
to
to
be
able
to
handle
a
new
type
of
column.
B
Let's
say
it's
like
that,
and
then
these
two
are
boilerplate
goal
to
register
the
provider,
and
then
this
method
is
imposed
with
after
you
create
a
database.
You
need
to
execute
that
query,
so
it
will
include
the
the
geolocation
function
and
the
geolocation
columns.
So,
for
example,
if
I
create
a
database
here,
demo.
A
B
B
B
B
So
you
can
go
crazy
with
this
like
super
Advanced
geolocation
functionality
so
but
I
just
needed
one
in
general,
so
the
one
that
I
needed
I
can
I
guess:
I
will
be
foolishing
more
functions
as
I
see
them
like
as
I
see
the
need
for
them,
but
the
only
one
that
I
created
is
the
team
is
STD
within
function.
B
So
basically,
these
These
are
XPO
function
operator
and
it
doesn't
have
the
the
even
the
evaluate
part
is
the
one
that
you
execute
on
the
client
side,
for
example,
and
if
you
show
a
read
of
data
in
one
part,
is
the
part
that
you
go
and
get
from
the
syllabus
and
the
other
part
is
what
you
do
when
you
filter
The,
Columns
and
sorts
and
so
on.
So
this
one
is
the
one
that
is
like
in
the
client
side.
B
So
this
you
have
to
do
it
with
math
and
I
have
not
done
it.
I
have
the
map
somewhere
there
in
in
a
repos,
but
I
guess
one
day.
I
will
do
it,
so
you
can
basically
execute
geolocation
queries
inside
of
the
grid,
but
in
this
case
it's
not
necessary.
I
wanted
to
get
it
from
the
from
the
database
themselves
itself.
B
So
basically
I
registered
the
the
operator,
and
it's
just
we
check.
If
the
provider
is
the
one
that
we're
using
and
then
you
write
this
function
as
you
will
write
it
in
in
process
and
you
just
replace
the
device.
The
first
one
is
the
column
and
the
second
one
is
the
point
that
you
want
to
create
and
the
third
one
is
the
distance
that
you
want
to
look.
So
you
want
to
get
any
point
that
is
within
this
distance
of
this
other
point
that
you're
creating
here
so
kind
of
really
really
simple.
B
So
let
me
run
this
so
this
one,
the
win
application
and,
of
course,
when
you
use
a
custom,
XPO
provider,
you
need
to
register
so
in
here
you
just
go
to
the
first
line
of
the
program,
and
then
you
do
this
and
in
this
register,
if
I
go
to
the
definition,
I
also
register
the
the
St
B
within
function.
Also,
another
functionality
that
I'm
adding
to
this
provider
is
to
query
Json
objects
or
Json
columns.
So
this
is
an
arrow.
B
Is
one
of
those
functions
I'm
not
going
to
show
that,
because
this
is
broken
at
the
moment,
but
I
think
that
with
if
you
use
something
like
the
geolocation
functionality,
so
of
course
this
and
also
the
Json
functionalities
of
positive,
you
have
an
easy
replacement
for
mongodb
or
for
something
like
Cosmos.
B
So
it's
I
think
that
it
you
can
have
all
the
functionality
of
Cosmos
DBA
or
without
the
tax
price,
because
cosmosis
is
kind
of
kind
of
expensive
Okay,
so
I
think
he
says
he
provided
then
I
use
that
in
my
connection,
history.
B
So,
let's
see
update
there
update
here
so
here,
I
here,
I
do
a
simple
query
and
it's:
if
I
have,
if
I
don't
have
any
domain
object,
I
will
create
some
points,
and
this
is
the
idea.
Actually
the
domain
object
and
then
these
I
use
both.
Let
me
open
that
here.
B
We
have
shown
that
before,
but
I
found
it
really
really
useful
for
you
for
generative
data,
because
in
here
they
have,
they
have,
you
know,
is
a
random
data
generator.
You
can
actually
generate
customers,
orders
and
stuff
like
that,
but
if
you
pay
and
the
price
is
only
seven
dollars
actually
or
eight
dollars
or
something
like
that,
you
can
generate
locations
and
addresses
and
you
can
tell
it
okay.
This
is
the
point.
The
central
point
and
I
want
to
generate
locations
within
100
meters
of
this
point,
so
that
is
complicated
to
calculate.
B
So
just
a
shout
out
to
bogus
is
like
an
amazing
tool
to
generate
fake
data,
and
especially
I
would
not
call
it
say:
data
I
would
call
it
test
data,
because
the
data
is,
it
is
valid.
It
is
congruent,
so
I
use
this
tool
to
generate
this
point.
So
all
these
points
are
within
I
think
like
two
kilometers
of
saint
peterborg,
so
let
me
run
this.
B
This
will
look
and
I
will
get
this
point
here.
Just
to
show
you,
so
let
me
show
you
the
main
object,
one.
The
main
object,
one
is,
is
basically
a
normal
domain.
Object
with
the
idea
that
we
we
do
have
a
column
or
a
property
that
is
sustained.
That
is
called
current
point
and
we
tell
it
that
the
BB
type
is
geometry
and
we
we
have
seen
this
value
converter,
which
is
a
GSI
converter.
B
So
if
you
go
to
definition,
is
if
we
get
a
value
from
the
storage,
we
do
the
string
and
we're
done
the
The
Experience
representation
and
when
we
do
it
to
a
storage,
we
expect
these
syntaxes
and
then
we
we
take
the
text
out
and
then
we
parse
it.
And
then
we
create
a
point
and
that's
what
we
store
the
point
and
if
you
can
see
this
is
comes
from
the
net
topologies
with
geometry.
So
let's
come
here.
B
Okay,
so
here's
the
domain
object
one.
It
looks
like
a
normal
grease.
So
if
I
open
this,
this
looks
basically
like
a
text.
I
can
copy
this
one
and
create
another
point
and
I
will
set
a
breakpoint
here.
B
And
do
stuff
demo
here
and
paste
this
so
when
I
save
it,
let's
see
demo
effects
so
I
got
the
value.
B
Oh
I'm
missing
one
side
entities,
so
what
I
have
on
parenthesis
is
excellent.
C
I
think
is
this.
B
Okay,
so
this
time
it
there
was
a
space
that
indicate
a
valid
point
and
this
is
going
to
be
saved
in
the
database.
Basically,
it's
a
geolocation
point,
so
that
is
the
first
part
of
of
the
demo.
Basically,
we
have
a
custom
XPO
provider
that
handles
Json
columns
and
handles
geolocations,
so
just
to
show
how
it
works
here.
I
have
a
controller
and
in
the
controller,
I
have
just
a
simple
action
and
then
I
I
basically
passed
the
the
the
function
that
I
register.
B
So
let's
run
it
here
here,
so
basically,
I
did
get
objects.
Then
I
passed
the
criteria
and
then
I
cast
it
to
I.
Have
this
interfacer
that
will
use
later
in
the
API,
but
then
I
will
put
a
breakpoint
here
and
clear
this.
B
So
all
these
points
are
the
points
there
is.
There
are
a
thousand
points
in
the
database
and
these
one
are
the
ones
that
are
600
meters
within
these
other
locations.
So
basically,
here
we
can
work
as
this
with
normal
position,
objects
and
the
location
property
is
basically
string,
so
it's
kind
of
really
easy
to
use.
So,
okay,
we
have
a
specialized
data
on
and
we
have
it.
We
are
using
that
myself.
B
So
now,
let's
go
to
to
the
API,
so
I'm
going
to
show
how
the
API
was
created
because
we
just
showed
that
area.
So
the
next
step
is
I
asked
developer,
Express,
okay,
I
have
this
custom
XPO
provider
with
this
really
special
functionality,
which
is
the
engagement
functionality
and
the
and
the
geolocation
functionality?
B
How
do
I
use
that
within
the
API
and
as
always,
I
I
think
that
when
I
write
a
ticket,
they
must
say
like
again
he's
asking
like
some
strange
things
that
will
take
like
one
week
to
to
research,
but
they're
always
super
nice
with
us
and
they
always
answer
on
time
and
they
give
like
enough
information
and
everything.
So
after
extending
a
few
tickets
with
Dennis
and
and
we
would
hold
on
I
need
to
see
who,
who
else
was
involved?
B
I
don't
want
to
I
want
to
give
the
credits
to
for
the
people
who
deserve
it.
So
for
these
Dennis
help
me
and.
B
I
think
it
was
only
then
his
name
just
one
sec.
B
So
both
of
them
had
me
in
this
ticket,
so
I
asked
them
okay.
What
should
I
do
if
I
want
to
create
I
use
this
provider
in
the
API,
and
then
we
came
to
the
conclusion
that
was
not
possible
to
do,
because
the
API
used
the
all
data
synthesis
to
query
data.
So
there
is
no
way
to
include
that
that
function,
Customs
idea
that
I
created
in
the
old
data
syntax
or
it
will
require
just
really
really
a
lot
of
calling
that
might
not
be
necessary.
B
B
A
B
Provider
in
in
the
custom
endpoint,
but
you
can
continue
with
that
and
then
I
will
go
back
to
the
one
that
I
have
yeah.
A
I
will
just
show
how
to
create
a
custom
endpoint,
that's
following
the
documentation
on
how
to
use
the
object
space,
how
to
use
the
security
system
in
that
two
seconds
so
jump
out.
Let
me
check
my
screen
has
a
questions
about
how
to
expand
more
than
two
levels
of
nested
collection.
If.
B
We
use
the
simple
odata
client,
which
is
created
by
a
guy
named
object,
which
I
think
is
a
nice
digital
handle.
So
it's
possible.
We
were
able
to
do
it
with
Entity
framework,
but
not
with
XPO
I.
Think
that
still
with
HBO
is
also
possible,
but
I
would
suggest.
B
Maybe,
however,
we
show
something
like
that
at
the
moment
is
because
I
I
think
that
just
today
and
if,
if
your
manager
is
giving
just
too
complex-
and
you
need
to
do
something
like
multiple
level
queries
and
a
really
complex
query-
just
create
a
custom
endpoint
and
do
all
the
magic,
in.net,
C,
sharp
and
then
you're
set
on
the
result,
because
it
would
be
way
easier
than
trying
to
do
the
nest
set
collection
because
with
Javier
we
had
a
nested
collection.
B
We
with
an
object
property
that
we
need
to
filter
and-
and
we
will
increase
the
time
to
do
that-
and
we
spend
weeks
I
think
or
days
at
least
so.
I
will
use
a
custom
endpoint
for
that
yeah.
A
B
B
A
And
the
other
nugget
that
we
had
that
issue
with
with
the
authentication
library
from
Microsoft
for
all
day
at
should
be
to
see
one
version
work
for
iOS,
the
other
one
didn't
work.
One
person
worked
for
Android,
the
other
one
didn't
work,
the
one
that
works
for
one
didn't
work
for
the
other
one.
So
yes,.
A
This
is
normal
web
API
Behavior,
but
let's
show
it
away
so,
basically,
we're
gonna
create
a
controller
inheriting
from
controller
base
and
we're
gonna
basically
create
manually
order,
endpoints
gate
posts,
put
delete
and
so
on
and
we're
going
to
put
the
authorized
if
we
want
to
take
the
authorization
method
that
we
are
using
with
a
soft
and
that's
it
it's
as
simple
as
taking
this
controller
and,
of
course
anything
here
you
can
modify,
you
can
return
anything
you
need
to,
but
basically
we're
gonna
take
this
code
and
we're
gonna
paste
it
in
whatever
product
that
we're
using
right
here.
A
A
Okay,
it's
not
in
the
right
folder
with
the
awt
and
I.
Don't
know
why
we
are
the
documentation,
they
paste
the
custom
endpoint
one.
This
is
the
same
example
of
one
Warehouse
using
tests
with
solution
one
and
then
the
the
Erp
is
called
solution,
one
because
we
left
the
the
name
of
the
of
the
template.
But
basically
now,
if
we
go
back
here,
we
have
the
authorized
to
make
sure.
A
Also
for
this,
no
that's
good,
so
we
have
custom
10.1
and
right
here
we
have
Library
return
into
a
string
and
we
can
pass
an
ID.
It's
still
not
taking
the
ID.
If
you
see
here,
it's
just
returning
value,
it's
just
to
show
that
we
can
do
all
this
type
of
things.
So
now,
with
only
that,
if
we
run
it,
you
should
say
that
in
Swagger,
that
should
be
an
extra
couple
of
endpoints.
With
that
controller,
it
went
to
the
other,
monitor.
Let's
go
it
down.
A
And
until
this
point
is
everything.net,
the
only
thing
that
we're
using
different
is
just
the
authorize
with
the
security
system
and
stuff
that
is
also
longed
by
what
I
mean
it's
not
related
to
soft.
If
you
see
those
custom,
endpoints
are
just
a
simple
gate,
put
delete
and
so
on,
but
you
we
had
it
right
here,
custom
endpoint
and
we
have
the
gate
they
get
with
the
ID
post,
put
delete
and
everything
that
we
need.
A
If
we
try
to
use
it
now,
unless
you
will
see
because
we
have
the
authorized
attribute
that
it
will
fail,
let's
see.
A
A
A
And
let's
go
up
and
authorize
here
we
go
now:
let's
go
back
to
our
custom
endpoint
and
now
we
should
be
able
to
get
value,
1
and
value
two
inner
response.
So
that's
simple.
We
have
a
question
point
and
right
there
we
can
do
anything
we
need
so
we
we
have
to
do
some
crazy,
stuff
and
watch.
It
probably
will
show
an
advanced
scenario
of
this.
You
have
to
call
a
different
API.
Sometimes
you
have
a
an
API
that
it
costs
a
lot
of
money.
A
So
basically
you
create
a
middle
layer
that
you
score
that
one
once
and
you
store
the
data
and
then
you
are
only
calling
this
one
all
the
time
things
like
that,
so
you
are
able
to
do
any
type
of
processing
in
that
endpoint
right
there.
Now,
let's
go
to
the
soft
bar
now
and
let's
come
back
to
the
documentation.
A
So
now
we
have
here:
how
do
we
access
I'll,
get
a
space
like
the
system,
collection,
Helper
and
I'm-
pretty
sure
that
we're
going
to
be
adding
a
lot
of
more
services
and
things
so
before
I
think
that
we
were
a
kind
of
stuck
up
to
the
sub
application
right
now
we
don't
need
that
we
just
need
to
put
by
dependency
injection
pass
the
iOS
space
Factory,
and
with
that
one
we
can
create
an
audio
space
of
any
type
of
object
that
we
need
and
so
on.
A
B
Looking
for
the
newest
newest
one
and
I'm
one
behind,
or
at
least
my
example,
is
in
one
version
behind
okay,
and
you
don't
have
that
one
either.
No,
so
basically
what
I
did
is
I
inject
the
old
big
space.
You
just
put
the
object
space
instead
of
the
factory.
That's.
A
B
A
Right,
what
we'll
do
is
I'm
gonna,
while
you
show
the
them
I'm
gonna
download
the
latest
one
and
I
I,
don't
know
I
will
to
the
machine
that
I
have
the
latest
one
and
then
I
will
show
that
yeah,
because.
A
B
So,
okay,
going
back
to
my
complex
examples,
basically,
okay,
so
going
back
to
the
problem
that
I
had
is
I
needed
to
use
the
geolocation
functionality
in
the
API,
and
there
is
no
way
to
basically
go
from
from
the
old
data
syntaxes
or
filtering
data
to
the
to
the
XPO
criteria.
Language
so
I
was
in
you
know,
problems
so
Danny
suggested
to
do
custom
operations
or
custom
endpoints.
B
B
If
you
use
net,
three
I
mean
net
core
three
Net
five
or
net
six,
because
it's
a
little
bit
different
in
each
of
them,
so
is,
is
something
that
you
don't
want
to
be
updating
or
moving
from
version
or,
if
you
want
to
do
it,
do
it
in
the
latest
version,
because
I
told
you,
like
I,
found
like
five
different
ways
to
solve
this
problem,
depending
on
the
version
of
the
framework
Okay,
so
I'm
going
to
set
the
API
break
as
a
startup,
and
here
I
did
exactly
the
same.
B
B
This
is
what
happened
so
after
I
registered
I
have
shown
the
domain
object,
one
I'm
able
to
do
the
crude
operations
and
to
print
it,
and
so
on
and
so
forth,
but
I'm
not
able
to
filter
based
on
geolocation,
so
I
have
a
problem
there
so
which
options
do
I
have
well.
I
can
create
custom
endpoint
as
Javier
list
and
I
was
having
the
problem
that
he
that
we
were
talking
about
the
the
the
object
space
Factory
not
being
available
in
the
version
that
I
I
use
for
this
example.
B
So
basically
what
I
did
is:
okay,
I
know
that
there
is
a
service
of
an
object
status,
so
I
put
the
object
space
in
the
Constructor
and
then
I
did
basically
custom
get
medals.
So
in
here
this
one
is
actually
I
can
set
this
to
North
and
we've
had
done
everything.
B
B
So
it
means
that
it
should
be
somehow
like
a
poke
object
or
maybe
an
interface
interface,
depending
on
the
version
of
the
frame
that
we're
using.
Might
have
some
problems,
so
you
need
to
be
careful
with
this
in
general,
so
what
I
did
is
okay,
if
I
return
the
main
object.
This
will
give
me
a
serialization
problem.
So,
let's
see
and
I
will
comment
out,
this
I
want
to
show
the
problem
before
I
show
the
solution.
So
this
was
my
first
attempt
this
get
method
and
let's
run
it.
B
B
B
And
here
we
have
the
tokens
we
copy
this,
and
that
was
paste
it
somewhere,
so
I
can
use
it
later
and
let's
log
in
here
our
price
and
I
have
login.
So
here
they
have
the
custom
endpoint.
So
let's
execute
this,
try
it
out,
I
will
execute
it
and
I
will.
If
you
return
an
HBO
type
or
or
a
domain
objects,
you
will
get
this
type
of
problem.
This
huge
exception.
So.
B
B
B
So
in
here
another
customer
asked:
how
can
they
when
they
use
a
custom
endpoint?
How
can
they
return
an
XPO
object,
because
the
API
makes
it
look
super
easy
that
you
just
return
the
object
and
and
that's
it,
and
it's
not
exactly
like
that.
You
need
to
actually
return
an
iquerable
object,
that's
one
of
the
first
problems
and
then
here
they
go
back
and
forth
and
in
the
end
you
need
to
implement
an
interface
of
a
class
that
will
return
the
information
about
the
model
that
you
want
to
render
in
the
custom
endpoint.
B
You
need
to
register
that
services,
and
then
you
need
to
do
like
more
of
those
interfaces
that
distribute
describe
the
type
and
they
describe
the
serialization
and
register
more
services.
So
it's
a
huge
difficult
solution.
It
requires
a
lot
of
little
details
and
it
will
be
really
specific
to
your
dotnet
version.
So
I
did
these
and
I
make
it
work
and
I
didn't
like
it,
because
it
was
just
too
long.
B
B
Okay,
so
how
can
we
avoid
that
so
in
here
we
can
return
either
the
interface
or
we
can
return
the
Poco
Optics,
so
I
will
leave
it
as
it
was,
which
was
the
interface.
B
So
let's
go
to
the
main
object.
One
and
here
domain
object.
One
implements
the
interface
I
domain
object.
So
if
I
go
here,
this
only
needs
two
properties.
One
is
the
current
point,
which
is
the
geolocation
point,
and
the
second
is
the
name
so
I
also
created
a
Poco
object,
so
a
Poco
object
is
an
object
that
doesn't
have
any
special
base
that
implements
the
same
interface,
and
if
you
pass
the
interface
you
can
create
an
instance
of
this.
So
I
have
this
focal
object
and
then
I
created
an
extension.
B
The
extension
will
be
is
used
to
any
e
numerable
collection
of
I
domain.
Of
this
one
I
can
add
this
method
to
Popo,
and
this
returns
me
a
list
of
Poco
objects.
So
this
is
adding
a
little
bit
of
an
extra
overhead.
I
have
not
calculated
how
much,
but
it's
not
that
much
I
mean.
Of
course
we
have
to
have
numbers
in
these
cases
if
you're
returning
millions
of
Records.
B
Maybe
this
will
take
time,
but
this
doesn't
for
returning
a
thousand
records
almost
actually
you
don't
you
don't
even
see
it
or
see
it,
but
there
is
a
little
bit
of
layer
or
if
there
is
any,
because
it
goes
super
fast.
B
So
of
course
you're
adding
some
steps
right.
So
in
here
what
I
did
is.
Okay,
I
would
return
the
interface
itself
in
here.
What
I
will
do
is
I
will
get
the
connection
of
the
main
object.
One
then
I
will
cast
it
to
the
interface.
B
B
B
And
here
I
have
basically
I
think
that
there
are
a
thousand
records
in
here.
So
these
are
basically
the
the
domain
objects.
All
the
domain
objects
with
the
name
and
location.
So
these,
basically
those
two
or
three
little
classes
I
did
that
will
basically
fix
all
the
problems
that
I
show
you
in
the
ticket.
That
was
like
10
steps
or
maybe
even
more.
You
really
need
to
pay
attention
to
them,
because
you
can
break
your
solution
doing
them
so
I
think
that
was
a
safer
way
to
do
it.
B
So
that's
why
if
you're
going
you're
going
to
use
a
custom
endpoint,
you
better
create
an
extension
to
cast
the
return
electronic
objects
that
you
have
into
a
list
of
local
Optics,
and
then
you
just
return
that
they
said
realize
they
say,
like
I,
said:
I
swallowed
them
like
really
really
easy
Okay.
So
this
all
that
huge
problems.
So
still
we
have
a
custom
endpoint,
but
we
have
not
shown
how
to
query
to
do
a
geo
location
query.
B
Now
these
other
git
method
that
I
have
which
is
get
within
distance.
It's
basically
the
same
as
this
one.
The
only
difference
is
that
I'll
create
the
criteria
operator,
because
this
you
cannot
just
cannot
do
with
all
data
in
general.
So
that's
why
you
have
to
have
I,
create
the
I
I
pass
the
latitude
longitude
and
distance.
Then
we
dedicated
operator
I
pass
it
to
the
object
space.
Then
I
cast
it
to
the
main
object,
interface
domain
of
equal
interface
and
then
to
book.
B
B
Okay
I
thought
that
I
will
clear
this,
but
anyway,
so
I
will
just
get
within
distance,
so
I
will
try
it
out
and
in
the
code
I
have.
This
is
the
the
game
from
I
generated
those
points
around
this
point.
So
if
I
pass
these
values,
I
should
get
some
results
so.
B
Longitudes
and
decisions
in
600.,
so
I
should
get
like
I.
Think
like
20
records
and
see
here,
I
have
been
I,
don't
see.
The
scroll
bar
is
like
really
small.
It's
not
the
Thousand
ones.
That
I
had
before
I
think
I
got
13
results
within
that
distance.
B
B
Meter
so
then
I
will
get
a
lot
of
them.
Well,
not
that
many
just
20..
So
now
we
can
use
custom,
XPO
providers
and
because
some
criteria,
operators
in
the
API,
we
don't
use
the
all
data
syntaxes,
but
we
just
create
that
custom
operation.
Basically,
and
then
we
get.
B
Of
these
again
I
think
there
are
a
few
questions
from
the
on
the
chat.
Icf.
Remember
that
maybe
yeah.
B
Look
I
mean
yes,
I,
don't
remember,
there
is
a
utility
which
is
automatic
or
something
like
that
there
are
a
few
of
them.
Yes,
you
can
use
that
to
do
the
custom,
but
basically
they
will
do
the
same
as
I
did
by
hand
and
I
wanted
to
show
how
how
it
is.
But
yes,
it's
something
like
that.
We
can
do
it
with
reflection,
get
this
property
name
and
set
it
to
this
order
property
name.
B
So
you
can
do
that,
but
there
is
always
that
you
don't
overhead
of
that
conversion,
but
in
the
end,
I
have
a
mission
to
time,
but
it's
almost
non-existing.
So
it's
not
not
that
much
of
a
problem.
So,
okay,
going
back,
do
you
want
to
go
back
again
because
I
have
another
demo
that
is
almost
the
same,
but
he's
doing
in
a
different
way
or
I
can
continue.
And
then
we
go
to
yourself.
B
Okay,
so
now
we
have
this
custom,
endpoint
and
I
kind
of
like
it
was
not
that
bad
as
John
Paul
says
we
can
use
something
like
an
automaper
or
I
did
that
Focus
station
to
wraps
on
the
object
inside
of
another
object,
which
is
very
nice,
but
I
don't
like
to
be
to
do
these
focal
objects
because
you
end
up
having
to
make
a
focal
object
for
each
instance
of
your
domain
objects.
B
So
then,
one
of
these
days,
these
last
two
weeks,
I,
was
working
with
a
customer
with
Joe
and
he
told
me
at
one
moment:
we
need
to
feel
like
something
it's
like.
He
told
me.
Let's
use
a
tuple
and
the
syntax
is
the
first
perspective
that
I
try
was
whatever,
but
then
we
find
a
really
compact
syntaxis,
which
is
like
just
apparatus
basically
and
then
I
go
okay.
Let's
try
to
do
that.
Let's
try
to
do
an
anonymous
type.
B
Well
it
it!
It
didn't
work,
it
didn't
work,
but
then
I
got
some
other
ideas.
Okay,
maybe
double
you
cannot
serialize
topic,
but
maybe
we
can
do
something
else.
Okay,
so
I
will
show
another
way
to
use
other
type
of
controllers
in
the
API,
so
this
is
a
custom
endpoint
and
basically
we
have
the
outright
so
we
are
achieve
the
same
authorization
scheme.
B
B
Here
I
have
some
information
about
it.
Like
I
I
found
some
people
discussing
it
and
some
information
about
XPO
and
how
you
can
sterilize
the
information.
Of
course,
all
of
that
is
involved
a
lot
of
steps
because
I
didn't
want
to
do
so.
You
know
we
we
have
that
along
in
the
past.
Have
you
remember
that
we
work
so
much
in
time,
not
the
work
they're
trying
to
get
the
the
shortest
answer
possible.
So
in
here
this
was
my
little
bit
of
my
afternoon.
B
So
in
this
case,
everything
like
in
the
decorations
is
exactly
the
same
authorized
and
Route.
This
is
not
an
API
controller.
That's
the
only
difference.
The
Base
Class
of
this
is
an
all
data
controller.
The
Constructor
is
exactly
the
same:
I
passed
an
object
space
and
then
in
here
I
have
an
action
result.
An
action
result
is
is
a
method
that
is
not
associated
with
that
type
of
result.
It
will
just
get
anything
you
have
to
return
okay
and
then
pass
a
value
of
an
object,
and
it
will
say
like
that
object.
B
B
So
the
only
difference
in
here
is
that
in
the
other
one,
the
returns
of
the
method
was
innumerable
of
something
or
I
domain
objects
or
eye
domain
object,
proper
or
whatever.
So
in
here,
I'm,
just
returning
an
action
result
and
I'm
doing
the
same
trick.
Casting.
B
But
the
interesting
one
is
the
second
one,
so
in
this
case
I
don't
have
to
use
the
extension
I
don't
have
to
use
actually
here's
this
is
this
x.
I,
don't
actually
need
I.
Think
can
be
like
that.
It
was
funny.
So,
let's
see,
let's
see
what
okay,
so
basically
it's
the
same
idea
is
I
should
return
an
action
result.
I
get
the
same
parameters,
but
in
here
I
don't
have
to
create
a
Poco
class
and
that
extension
to
copy
one
object
to
the
other
I
just
use
HBO.
B
It
has
something
called
the
XP
Auto
linkq
provider.
So
this
is
actually
super
efficient,
because
this
will
imagine
that
domain
object.
One
has
two
thousand
columns,
but
we
just
need
two.
B
So
when
you
do
get
objects
like
you're
doing
here,
you
get
that
thousand
columns
and
you
need
to
say
like
that
information
and
show
it
indication.
So
you
will
make
your
Json
heavier,
but
in
this
case
I'm
using
the
power
of
the
link
provider
for
XPO.
So
this
will
determine
an
equitable
collection
of
XPO.
So
then
you
can
do.
This
is
an
equity
level.
You
can
do
select
new
and
just
get
the
properties
that
you
want.
B
So
it
means
that
if
this
object
has
two
one
thousand
or
two
thousand
columns,
I
will
just
return
two
columns
and
it
will
create
an
anonymous
type.
So
what
are
the
advantages
of
that?
First,
your
query
becomes
really
really
small
and
efficient.
That's
the
first
Advantage
and
the
second
Advantage
is
that
you
don't
have
to
create
that
intermediate
focal
class
to
return
these
informations.
B
So
this
is
the
way
more
efficient
that
the
other
three
ways
of
the
show
before
and
I
think
it
can
be
even
more
efficient
that
the
that
the
endpoints
that
that
comes
by
default
with
a
web
API,
because
those
endpoints
for
all
the
information.
Of
course
you
can
do
next
and
face,
as
example,
was
saying
like
you
can
tell
like
invoice
and
then
product,
for
example.
B
But
if
you
can,
if
you
don't
need
that
level
of
queries,
you
can
flat
out
the
results
and
just
returning
in
something
like
this
super
efficient
inquiry
and
not
intermediate
objects.
So
this.
A
B
Oh,
yes,
you
can
do
filter
also
because
this
is
our
data,
and
so
what
is
the.
B
I,
don't
see
it
so,
okay,
so
I
think
this
is
the
most
efficient
one,
because
the
query
is
efficient,
you
can
do
the
filter
or
data
and
you
don't
have
to
create
intermediate
objects.
So
this
is
for
me
from
all
the
that
I
was
testing
today,
what's
the
top
in
performance
level
or
I'm,
also
in
calling
time,
because
it's
the
the
shortest
one
to
code.
So
let's
authorize
this
close,
and
this
is
the
custom
or
data
endpoint.
B
So
this
is
the
the
beautiful
one,
the
anonymous
one
so
again,
I
will
use
the
same
values.
B
and
exited
and
I
will
get
the
same
like
20
results
13..
So
if
I
do
I
think
if
I
did
like
100
I
got
just
two
yeah
just
so
see
if
the
query
will
be
actually
those
two
properties.
Actually
it's
not
even
getting
the
idea
of
that
in
the
query,
if
you
see
the
the
XPO
log,
remember
that
we
did
the
in
the
video
that
we
do,
we
talk
about
XPO
performance.
This
is
one
of
the
top
ones
when
you
do
select
from
from
a
link
query
so
well.
B
This
is
the
another
trick
to
do.
If
you're
going
to
use
the
API,
you
don't
have
to
use
the
input.
Of
course
it's
nice
because
you
already
have
them
all
there
when
you
have
when
you
create
your
domain
objects,
but
if
you
have
something
really
really
complex
to
do,
maybe
you
can
just
pass
some
parameters
and
return
an
anonymous
object
so
as
letting
you
a
link
query
in
general
and
you
can
do
a
no
data
type
of
controller,
so
the
authorization
and
everything
is
exactly
the
same
and
you
can
really
without
too
much
code.
B
Do
something
something
with
really
good
performance
and,
of
course,
a
few
lines
of
code,
which
is
the
who
doesn't
want
that.
So,
let's
see.
B
So
well,
that's
everything
for
this
demo.
I
hope
that
is
interesting
for
you
guys,
let's
see,
Javier
I
think
we
are
going
back
to
you.
B
A
We
have
access
to
the
to
the
organ
space.
We
have
access
to
the
security
system.
We
have
access
to
the
to
the
caption
Helper
and
everything
we're
doing,
and
hopefully
this
is
where
we
were
discussing
before
right
here.
We
can
do
like
if
we're
calling
this
we're
gonna
summary
from
a
console
from
everything
you
can
actually
start
using
odata,
as
you
have
using
before.
First
name:
equal
Marissa,
Lake
last
name
an
email,
so
you
can
do
everything
a
good
thing
to
go
and
create
the
documentation
about
all
those
operator.
Filter
expand,
select,
otherwise,
kids.
A
So
there
is
a
lot
of
things
there
same
thing
example
of
how
to
use
it
and
Convention
here.
So
there
is
a
lot
of
documentation
regarding
this
and
I
just
finished,
but
I
think
that,
basically,
that
would
be
it
for
today,
I
don't
wanna
again,
they
just
is
finishing
in
the
last
percent
of
the
update,
but
we
can
see
the
basically
they'll
get
a
space
Factory.
How
created
your
space?
A
We
can
see
the
security
system,
how
use
the
security
and
we
can
see
the
caption
Helper
and
so
on
and
more
and
more
things
are
going
to
be
coming
on.
We
are
going
to
create
a
quick
YouTube
video
for
this,
but
besides
that,
I
think
that
everyone,
anyone
who
has
questions
or
want
to
share
anything,
happy
to
hear.
If
not
we'll
see
you
next
month,
and
there
is
a
lot
of
great
topics
going
on
so
we're
getting
back
on
track.
A
Music,
are
you
saying
hi?
Okay,
let's
do
the
picture.
B
Yeah,
of
course,
this
is
the
most
important,
but
let
me
clean
the
the
camera
so
guys
the
best
advice
for
the
internet,
one
two,
three
and
again
one
two:
three:
okay,
thanks
everyone.
It
was
a
really
good
show:
okay,.